Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

टिप्पणी के लिए पुनरावर्ती कार्य और PHP अनुप्रयोग का उत्तर दें

समस्या का मूल यह है:

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

मुझे लगता है, यह फ़ंक्शन कहीं न कहीं SQL बनाता और चलाता है, जो SELECT ... WHERE comments.article_id=$article_id के समान है। . यह पर्याप्त नहीं है - आपको कुछ ऐसा चाहिए

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

जो SELECT ... WHERE comments.article_id=$article_id AND comments.comment_parent ($parent_id>0)?"=$parent_id":"IS NULL"

अब आप अपना PHP फ़ंक्शन लिख सकते हैं:

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);
    }
}

और अंत में इसे 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. स्काला और MySQL JDBC ड्राइवर

  2. Wordpress - दिन के हिसाब से पोस्ट और टिप्पणियों की संख्या प्राप्त करें

  3. PHP के साथ एक mysql स्ट्रिंग में डबल कोट्स डालें

  4. सामान्यीकरण कई तालिकाओं में जुड़ना मुश्किल बनाता है

  5. PHP में mysql_num_rows पूछने का सही तरीका