首先,這實際上不是CodeIgniter特有的。我無法抓住一個想法,所以任何知道PHP/SQL(或者我的問題是什麼)的人都可以跳進去。展示相冊(PHP)
我有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循環中處理它們的好主意。 – Fanis 2010-09-21 07:06:18
我在發佈問題之前做過。該查詢在phpMyAdmin中運行良好 – Elxx 2010-09-22 00:26:10