【发布时间】:2010-09-21 05:23:32
【问题描述】:
首先,这确实不是 CodeIgniter 特定的。我很难把握一个想法,所以任何了解 PHP/SQL(或任何我的问题)的人都可以加入。
我有 2 个表格,“照片”和“相册”。
Album columns : ID TITLE USER_ID CREATED MODIFIED
Photo columns : ID ALBUM_ID TITLE LOC CREATED MODIFIED
我正在使用查询
$this->db->select('*');
$this->db->from('album');
$this->db->join('photo', 'album.id = photo.album_id');
$this->db->limit(10);
return $this->db->get();
我认为可以翻译成
SELECT * FROM album JOIN photo ON album.id = photo.album_id LIMIT 10;
无论如何,我不明白的是如何显示每个相册以及相关照片。
比如……
<div class="album">
<img src="image1" />
<img src="image2" />
</div>
<div class="album">
<img src="image3" />
</div>
基本上,我如何“回显”正确的专辑及其相关图像?据我所知,foreach 循环只会写出每个图像,而不会区分图像属于哪个专辑。
我什至应该使用 JOIN 查询吗?
更新:
哇,好吧,蒂尔曼,你是专业人士。非常感谢您的帮助。对于引用此内容的其他任何人,请确保更改 $array[$row['id']][] = $row; 中的 'id'无论您的专辑 ID 是什么。就我而言,它的album_id。我最后的加入声明是用album_id 覆盖id。
【问题讨论】:
-
手动尝试对数据库进行查询(例如,使用 phpMyAdmin 或 Mysql 查询浏览器,如果可用)并查看结果行的样子。它会给你一个关于如何在 php 循环中处理它们的好主意。
-
我在发布问题之前做过。该查询在 phpMyAdmin 中运行良好
标签: php sql codeigniter mysql