我想在产品类别页面上获取产品缩略图,需要显示每个产品的第1个缩略图图像。现在最后一张图片正在显示。 这是我的数据库结构的屏幕截图
编辑:
现在表格格式为截图,有4张图片,订单1,2,3,4我想用img_order 1获取图片。
当我运行sql查询
时 SELECT i.img_order,p.*, i.product_id, i.dirName, i.img FROM products p inner JOIN product_images i ON i.product_id = p.id WHERE p.status = 1 and i.product_id=329 AND i.type = 'Static' GROUP BY i.product_id ORDER BY i.img_order asc
它给出了错误的结果,请看截图
但我想用img_order 1来获取图像。
答案 0 :(得分:1)
尝试这样的事情:
SELECT pi.img_order,p.*, pi.product_id, pi.dirName, pi.img
FROM product as p
LEFT JOIN product_image as pi ON pi.product_id = p.id
JOIN
( SELECT id,product_id, MIN(img_order) minVal
FROM product_image GROUP BY product_id
) i
ON pi.img_order = i.minVal AND i.id = pi.id;
小提琴是here
答案 1 :(得分:0)
我找到了带有以下sql查询的解决方案:
SELECT i.img_order,p.*, i.product_id, i.dirName, i.img FROM products p inner JOIN product_images i ON i.product_id = p.id WHERE p.status = 1 and i.product_id=329 AND i.type = 'Static' GROUP BY i.product_id ORDER BY i.img_order asc
感谢所有投票
答案 2 :(得分:-1)
你有没有试过这样的东西。
检查所有行
$query = $this->db->query("YOUR QUERY");
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}