在foreach循环中进行DISTINCT mysql查询

时间:2012-11-02 22:52:52

标签: php codeigniter activerecord foreach mysqli

我需要查询数据库并返回列的不同值。查询位于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值,X_QTY是列表中的LAST数组。

我需要为数组中的所有键返回不同的值。我怎样才能做到这一点?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

问题是你的foreach将在循环的第一轮之后返回,尝试以下方法:

$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(); 
} 
return $resultArray;