2010-01-27 29 views
0

我不確定如何在PHP和MySQL中創建一個可以同時處理數百條評論的線索評論系統。線程註釋的可伸縮解決方案

喜歡的東西,這是我能拿出

$query = execute_query...('SELECT * FROM `comments` WHERE `post` = "1"'); 
foreach($query as $comment){ 
    $replies = execute_query...('SELECT * FROM `comment_replies` WHERE `comment` = "' . $comment['id'] . '"'); 
    if($replies){ 
     echo $comment['body']; //.... 
     foreach($replies as $reply){ /*....*/ } 
    } 
    else{ 
     echo $comment['body']; 
    } 
} 

所以我需要在數據庫結構頂部的唯一的事情,我怎麼能在考慮性能retrive的所有線程意見,請:)

回答

1

爲什麼不加入評論和comment_replies表?

然後只需添加一個額外的生成字段,顯示它的評論或comment_reply。並選擇他們如果在像這樣的foreach:

if($type == 'comment') 
{ 
     //do something with the comment 
} 
elseif($type == 'comment_reply') 
{ 
     //do something with the comment reply 
} 

還檢查如果評論id更改,所以你可以分開他們。

1

我會選擇鄰接列表模型在嵌套集模型,因爲有了嵌套集模型,我將不得不建立整個樹結構的每個插入和刪除操作在表上完成,如果我有1000條記錄,對於單個INSERT或DELETE操作,所有記錄都需要更新,需要更多時間來執行。我的數據庫結構將是: enter image description here

此外我寫了一個小型的線程評論系統與PHP的MySQL的jQuery和AJAX。看看http://pradipchitrakar.com.np/programming/threaded-comment-system/