2010-12-10 71 views
0

我基本上試圖編寫一個簡單的線程評論系統,用戶可以在其中評論其他用戶的評論。它只會允許一個級別的評論。PHP:快速線程評論問題

在數據庫中的意見表是這樣的: - ID - 文本 - 時間戳 - PARENT_ID(可以是NULL)

我的問題是我應該怎麼查詢的意見和他們的子女(評論) ?我只是不確定他們將如何在陣列中的位置,然後如何循環和正確輸出它們。

你的幫助是非常讚賞=)

回答

2

如果只有一個級別深,你可以得到所有的意見和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); 
}