2010-09-17 48 views
0

当我将分页设置为每次显示10条评论时,我的评论查询将不会计算评论回复作为显示计数的一部分我该如何解决这个问题,以便我的评论回复被计算在内?我的评论回复查询嵌套在我的主要查询中以显示评论。PHP和MySQL分页显示问题

查询的分页

SELECT COUNT(comment_id) FROM comments WHERE id = $id 

主要查询,显示评论。

$dbc = mysqli_query($mysqli,"SELECT comments.*, users.* 
          FROM comments 
          LEFT JOIN users 
          ON comments.user_id = users.user_id 
          WHERE id = '" . $id . "' 
          AND parent_comment_id = 0 
          LIMIT $start, $display"); 

主要querys回复评论。

//display comments replies 
$dbc2 = mysqli_query($mysqli, "SELECT comments.*, users.* 
           FROM comments 
           LEFT JOIN users 
           ON comments.user_id = users.user_id 
           WHERE id = '" . $id . "' 
           AND parent_comment_id >= 1"); 


//display comments replies 
$dbc3 = mysqli_query($mysqli, "SELECT comments.*, users.* 
           FROM comments 
           LEFT JOIN users 
           ON comments.user_id = users.user_id 
           WHERE id = '" . $id . "' 
           AND parent_comment_id >= 1"); 
+0

我看不到$ dbc2和$ dbc3之间的区别 – MattSmith 2010-09-17 03:48:11

回答

0

也许这个查询,你可以给精确的DB结构来处理。

SELECT 
    com1.*, 
    users.*, 
    (
     SELECT COUNT(*) 
     FROM comments AS com2 
     WHERE com2.parent_comment_id = com1.id 
    ) AS num_replies 
FROM comments AS com1 
LEFT JOIN users ON com1.user_id = users.user_id 
WHERE 
     com1.id = '" . $id . "' 
    AND com1.parent_comment_id = 0 
LIMIT $start, $display