php - 查询返回重复结果

标签 php mysql duplicates opencart

我正在尝试编写一个脚本来显示互联网商店中特定产品的其他产品。根据价格和类别显示的产品。例如,如果您选择主板,脚本将显示其硬盘冷却器等其他产品。价格范围必须由管理员指定。问题是代码返回重复的产品。我尝试在 MySQL 查询中使用 group by、distinct 。我还尝试在 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++;
}
} 

最佳答案

尝试使用

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

关于php - 查询返回重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17563405/

相关文章:

magento - 重新索引 Magento 时违反约束/重复键

php - IF 语句只显示 1 个变量而不考虑结果

php - 通过 POST 将 JSON 编码的变量从 PHP 传递到 Javascript

php - Mysql PDO 没有正确插入序列化的 php 数据(在 ´ 符号处截断)?

javascript - Jquery/PHP : Javascript function fails to run

php - 更新查询在 Mysql 中不起作用,而是在此查询中插入新数据

javascript - mysql 请求后 Node JS 重定向

java - 在 Java 程序中开始结果集之前获取 SQL 错误 1078

javascript - 如何从 JavaScript 数组中删除重复的对象?

ruby - 为什么文件内容不会复制?