Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Fungsi rekursif untuk komentar dan balasan aplikasi PHP

Inti masalahnya adalah ini:

$comments = $commentClass->fetch_article_comments($article_id);

Saya berasumsi, fungsi ini di suatu tempat membuat dan menjalankan SQL, yang mirip dengan SELECT ... WHERE comments.article_id=$article_id . Ini tidak cukup - Anda memerlukan sesuatu seperti

$comments = $commentClass->fetch_article_comments($article_id, $parent_id);

yang diterjemahkan ke dalam SQL mirip dengan SELECT ... WHERE comments.article_id=$article_id AND comments.comment_parent ($parent_id>0)?"=$parent_id":"IS NULL"

Sekarang Anda dapat menulis fungsi PHP Anda:

function display_comments ($article_id, $parent_id=0, $level=0) {
  $comments = $commentClass->fetch_article_comments($article_id, $parent_id);
  foreach($comments as $comment) {
        $comment_id = $comment['comment_id'];   
        $member_id = $comment['member_id'];
        $comment_text = $comment['comment_text'];
        $comment_timestamp = timeAgo($comment['comment_timestamp']);  //get time ago

        //render comment using above variables
        //Use $level to render the intendation level

        //Recurse
        display_comments ($article_id, $comment_id, $level+1);
    }
}

Dan terakhir panggil dengan display_comments ($article_id);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hitung persentase pada bulan sebelumnya (tahun yang sama)

  2. Tampilkan data berdasarkan id yang dipilih pada jendela popup modal setelah mengklik tombol php mysql

  3. Ubah tanggal 41014 Excel menjadi tanggal aktual dalam PHP atau JavaScript

  4. Skema basis data MySQL hash

  5. Apakah ada MySQL yang setara dengan sprintf?