2013-07-10 184 views
0

我正试图编写一个脚本,显示特定产品在互联网商店中的附加产品。基于价格和类别显示的产品。例如,如果您选择的主板脚本将显示额外的产品硬盘冷却器ets。价格范围必须由管理员指定。问题是代码返回重复的产品。我试图使用group by,在MySQL查询中不同。此外,我试图在PHP中使用数组独特的功能。两者都不起作用。这个问题有什么可能的解决办法?现在代码如下所示。该查询返回重复结果

if(isset($product_info['related_kv4nt_id_2'])) { 
    $i=1; 
         $imax = 5; 
         while ($i < $imax) { 
$product_sql_test2 = $this->db->query("SELECT p.product_id, p.price, pc.product_id AS product_id 
FROM oc_product p 
INNER JOIN oc_product_to_category pc ON p.product_id = pc.product_id 
WHERE p.price BETWEEN '".$product_info['related_kv4nt_min_2']."' and '".$product_info['related_kv4nt_max_2']."' 
AND pc.category_id = '".$product_info['related_kv4nt_id_2']."' 
GROUP BY pc.product_id 
ORDER BY RAND() 
LIMIT 0 , 10");      if(isset($product_sql_test2->row['product_id'])){$this->data['product_spec_2_'.$i.''] = $product_sql_test2->row['product_id'];} 
$i++; 
} 
} 
+0

你如何获取行? – Orangepill

回答

0

GROUP BY product_id 

或类似

GROUP BY p.product_id 

pc.product_id AS product_id 

改变这种尝试

pc.product_id AS p_id 

,并尝试团,如

GROUP BY p_id 
+0

当我尝试按产品ID进行分组时,出现以下错误:注意:错误:如果我尝试按产品分组,则组合语句中的列'product_id'不明确。p.product_id我得到重复数据。 –

+0

pc.product_id AS product_id将其更改为pc.product_id AS p_id并尝试按GROUP BY进行分组p_id – Gautam3164

+0

仍然获取重复数据。 –