【发布时间】:2012-11-02 22:52:52
【问题描述】:
我需要查询数据库并返回不同的列值。查询在 foreach 循环中,并根据数组而变化。
$get_all_col_names = $this->db->list_fields($table_by_product);
//This will return "X_SIZE", "X_PRINT", "X_QTY"
现在我有一个 foreach 需要分别获取“X_SIZE”、“X_PRINT”和“X_QTY”的不同值。
foreach ($X_types as $X) {
$this->db->select($X);
$this->db->distinct();
$qX = $this->db->get($table_by_product);
return $qX->result_object();
}
当前设置的问题在于它只返回 X_QTY 的 DISTINCT 值,这是列表中的最后一个数组。
我需要为数组中的所有键返回不同的值。我怎样才能使这项工作?感谢您的帮助。
【问题讨论】:
-
我不知道我是否知道你想要什么...但是在 foreach 中返回,将在第一个循环后返回。如果您希望返回所有结果,则必须在 foreach 之后返回并将结果添加到您返回的临时数组中。
-
是的,这就是我想做的。我在 foreach 之前尝试了
$X_types[] = array();,然后在循环之后我放了什么?你能澄清一下,并把它作为你的答案吗?你对我需要做的事情是正确的。谢谢 -
$resultArray = array(); foreach ($X_types as $X) { $this->db->select($X); $this->db->distinct(); $qX = $this->db->get($table_by_product); $resultArray[] = $qX->result_object(); } 返回 $resultArray;
-
@tenhouse 请发布官方答案,以便我接受您的回复并给予您适当的信任。谢谢
标签: php codeigniter activerecord foreach mysqli