2010-09-17 5 views
0

Lorsque je règle ma pagination pour afficher 10 commentaires à la fois, ma requête de commentaires ne compte pas les réponses de commentaires dans le décompte d'affichage. Comment puis-je résoudre ce problème pour que mes réponses soient comptabilisées? Mes commentaires réponses réponses sont imbriquées dans ma requête principale pour afficher les commentaires.Problème d'affichage de pagination PHP & MySQL

requête pour pagination

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

La requête principale pour afficher les commentaires.

$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"); 

Les querys principaux répondent aux commentaires.

//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

Je ne vois pas de différence entre $ dbc2 et $ dbc3 – MattSmith

Répondre

0

Peut-être que cette requête, pourriez-vous donner la structure précise de la base de données avec laquelle travailler.

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