Dişli Yorumlar için ölçeklenebilir çözüm

3 Cevap php

Ben bir anda yorumların yüzlerce işleyebilir PHP ve MySQL bir dişli yorum sistemi oluşturmak için nasıl emin değilim.

Böyle bir şey ben kadar gelebilir tek şey

$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'];
    }
}

Yani aklımda performans ile tüm dişli yorumlar lütfen alınamadı nasıl veritabanı yapısı hakkında ipuçları ihtiyaç ve :)

3 Cevap

Ben makaleyi Managing Hierarchical Data in MySQL yararlı bulacaksınız eminim. Bu iki tablo kolayca tek bir birleştirilmiş olabilir

Neden yorum ve comment_replies masaya katılmak değil?

sonra sadece gösteren bir ekstra oluşturulan alanı eklerseniz onun bir yorum veya bir comment_reply. Ve bir foreach eğer gibi onları seçin:

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

Yorum id böylece onları ayırabilirsiniz değiştirir olmadığını da kontrol edin.

I would choose Adjacency List Model over Nested Set Model because with Nested Set Model, I would have to build the whole tree structure on every INSERT and DELETE operation done on the table and if I have 1000′s of records, for a single INSERT or DELETE operation all the records has to be updated taking more time to execute. My database structure would be: enter image description here

Ayrıca ben php mysql jquery ve ajax ile küçük bir dişli yorum sistemi yazdım. http://pradipchitrakar.com.np/programming/threaded-comment-system/ bir göz atın