Bonjour, j'ai un système de commentaire en PHP dans lequel j'aimerai ajouter une fonctionnalité de réponse à un post en particulier, c'est à dire la possibilité de pouvoir répondre à quelqu'un et faire en sorte d'afficher cette réponse juste au dessous de son post.
J'ai une table commentaires qui contient les champs suivants : id, nom, commentaire, date et un champs post_id qui prend la valeur de l'id du commentaire auquel on répond.
Jusque là pas de problème et lorsque j'affiche les commentaires la réponse vient bien se placer au dessous du post auquel on répond.
Cependant si l'on répond de nouveau à une réponse, là cette réponse vient se placer à la fin de la liste des commentaires.
Voici mon script pour afficher les commentaires, je suis bien conscient de l'erreur qui cause le problème mais je n'arrive pas à trouver la bonne méthode pour pouvoir répondre et aux commentaires et aux réponses de commentaires :
Code :
- $req = $bdd->prepare('SELECT * FROM commentaires');
- $req->execute();
- while($data = $req->fetch(PDO::FETCH_OBJ))
- {
- if($data->post_id==0)
- {
- echo '<div class="commentaires">';
- echo '<p>'.$data->nom.'</p><br />';
- echo '<p>'.$data->commentaire.'</p><br />';
- echo '</div>';
- }
- $req2 = $bdd->prepare('SELECT * FROM commentaires WHERE post_id=:id');
- $req2->execute(array('id'=>$data->id));
- while($data2 = $req2->fetch(PDO::FETCH_OBJ))
- {
- echo '<div class="reponse">';
- echo '<p>'.$data2->nom.'</p><br />';
- echo '<p>'.$data2->commentaire.'</p><br />';
- echo '</div>';
- }
- }
|
Quelqu'un pourrait-il me donner un coup de main ?
Merci.