我基本上試圖編寫一個簡單的線程評論系統,用戶可以在其中評論其他用戶的評論。它只會允許一個級別的評論。PHP:快速線程評論問題
在數據庫中的意見表是這樣的: - ID - 文本 - 時間戳 - PARENT_ID(可以是NULL)
我的問題是我應該怎麼查詢的意見和他們的子女(評論) ?我只是不確定他們將如何在陣列中的位置,然後如何循環和正確輸出它們。
你的幫助是非常讚賞=)
我基本上試圖編寫一個簡單的線程評論系統,用戶可以在其中評論其他用戶的評論。它只會允許一個級別的評論。PHP:快速線程評論問題
在數據庫中的意見表是這樣的: - ID - 文本 - 時間戳 - PARENT_ID(可以是NULL)
我的問題是我應該怎麼查詢的意見和他們的子女(評論) ?我只是不確定他們將如何在陣列中的位置,然後如何循環和正確輸出它們。
你的幫助是非常讚賞=)
如果只有一個級別深,你可以得到所有的意見和Munge時間他們進入你想要的結構。你可以做這樣的事情:
function get_comments()
{
$sql = 'select * from comments order by timestamp';
$result = $this->db->query($sql)->result();
$comments = array();
foreach ($result as $row)
{
if ($row->parent_id)
{
$comments[$row->parent_id]->children[] = $row;
}
else
{
$comments[$row->id] = $row;
$comments[$row->id]->children = array();
}
}
return array_values($comments);
}
下面是關於如何處理這個相當詳細的解釋:
http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/
我讀過它,但我恐怕我仍然不知道該怎麼做。糾正我,如果我錯了,但鏈接解釋瞭如何在每個級別只取一個孩子,而不是所有的孩子,對嗎? – KeyStroke 2010-12-10 17:23:26