PHP - 博客评论系统

时间:2014-02-03 12:51:21

标签: php oop mysqli

我在向博客文章系统添加评论时遇到问题,我使用OOP PHP完成了这个,这是我的代码:

public function getBlogPosts() {
    $stmt = $this->mysqli->prepare("SELECT id, posted_by, date_time, title, message FROM blog_posts");
    $stmt->execute();
    $stmt->bind_result($id, $posted_by, $date_time, $title, $message);
    $stmt->store_result();
    $stmt2 = $this->mysqli->prepare("SELECT id, posted_by, date_time, post_id, message FROM blog_comments");
    $stmt2->execute();
    $stmt2->bind_result($c_id, $c_posted_by, $c_date_time, $c_post_id, $c_message);
    $stmt2->store_result();
    while($stmt->fetch() && $stmt2->fetch()) {
        echo "<h3>$title</h3>Posted by: $posted_by at $date_time.<br /><br />$message<br />";
        if($stmt2->num_rows > 0) {
            $stmt3 = $this->mysqli->prepare("SELECT post_id FROM blog_comments WHERE post_id=?");
            $stmt3->bind_param('s', $id);
            $stmt3->execute();
            $stmt3->bind_result($n_id);
            $stmt3->store_result();
            if($stmt3->num_rows > 0) {
                while($stmt3->fetch() && $stmt2->fetch()) {
                    echo "<br /><br />" . $c_posted_by . " at " . $c_date_time . "<br />" . $c_message;
                }
            }
            $stmt3->close();
        }
    }
    $stmt->close();
    $stmt2->close();
}

在该代码中,如果表'post_id'与blog_posts记录的id匹配,我试图获取所有博客帖子,并将博客评论发布到博客帖子。如果您能发现错误,我将非常高兴,这将有助于许多尝试解决此类错误的人。谢谢!

1 个答案:

答案 0 :(得分:0)

我已完成了重新编码,并且工作正常。我没有提供代码,但逻辑是

//如果有博客帖子,则回复博客帖子并存储ID

//存储id后,使用它来检查是否有与该id相关的blog_comment并尝试链接它们。

//如果有一个id链接到blog_comment,则将其回显。简单?如果您有问题,请告诉我。