我使用codeigniter爲自己的PHP編寫了一個電影存檔腳本。我從IMDb獲取電影信息並將它們添加到我的數據庫中。我使用另一個名爲links的表格爲我選擇的電影添加鏈接。將行作爲另一個表的陣列連接到每行
這是我使用的從數據庫中獲得電影查詢:
$movies = $this->db->query("SELECT *
FROM movies
ORDER BY ".$order['by']." ".$order['type']."
LIMIT ".$limit.", " . $this->config->item('moviePerPage')
);
,我取它的視圖文件是這樣的:
foreach ($movies->result() as $row) {
echo $row->name;
}
現在鏈接必須顯示爲每部電影都帶有匹配的ID(電影可能有多個鏈接)。我的鏈接表有這些列:'id','movieid','name','鏈接'
如何獲得每個電影的鏈接與單個MySQL查詢?獲取與當前$ row電影相關的所有鏈接並將它們綁定到單個變量作爲數組是否是可行的?與此我可以循環與foreach()並顯示每個電影的鏈接。
btw:movies.movieid和links.movieid列具有相同的數據。
鏈接可以在其中包含逗號。你在做什麼不屬於SQL。創建數據結構和顯示邏輯屬於應用程序。 – 2010-11-21 00:35:04
@Dan Grossman - 如果逗號是一個問題,可以使用其他一些罕見的分隔符,如'%% @@ && @@ %%'它不屬於SQL? group_concat是一個mysql子句,它是這樣使用的。我不是在這裏強加我的答案,但這有什麼問題。用戶只需要小心這些陷阱,就這些了。 – 2010-11-21 12:53:23
爲了成功運行查詢,我必須在'',''之前使用'SEPARATOR'。 [見文檔](http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat)。 – 2015-03-04 08:15:17