我尝试了许多不同的方法并搜索了其他问题和论坛,但我找不到我正在寻找的东西(可能正在搜索错误的关键字)。
无论如何,这是我的结构:
mycars
--car_id (pk)
--make
--model
mycars_details
--car_id (pk)
--option1
--option2
mycars_gallery
--car_id (pk)
--imgcount
--imglink
--imgthumb
我需要拉出所有 3 个表,这对 mycars 和 mycars_details 工作正常(每个 PK 只有 1 行),但我的 mycars_gallery 有 3 行(图像)用于 1 辆车。用户最多可以为 1 辆车上传 12 张图片。
所以当我运行这个 sql 时:
SELECT * FROM mycars c
LEFT OUTER JOIN mycars_gallery g
ON c.car_id = g.car_id
LEFT OUTER JOIN mycars_details d
ON c.car_id = d.car_id
WHERE c.status = 1 AND c.car_id = 27
输出:
|car_id|make|model|option1|option2|imgcount|imglink |imgthumb |
--------------------------------------------------------------
| 27 |volk|jetta| 1 | 0 | 1 |link1.jpg|thumb1.jpeg|
| 27 |volk|jetta| 1 | 0 | 2 |link2.jpg|thumb2.jpeg|
| 27 |volk|jetta| 1 | 0 | 3 |link3.jpg|thumb3.jpeg|
所以我从其他表中得到所有这些重复项。我将这些数据存储在 smarty 数组中,然后使用 smarty 循环将其吐出到页面上。
像这样的东西:
{section name=car loop=$SHOW_ARRAY}
{$SHOW_ARRAY[car].make} - {$SHOW_ARRAY[car].model}<br>
{$SHOW_ARRAY[car].imglink}
{/section}
问题:我觉得我的查询是错误的,我怎样才能检索存储在数据库中的所有图像的单辆车(mycars_gallery tbl)