Affichage des commentaire en php

Bonjour,
Je travaille sur un code un peu comme Facebook, je veux lorsque je clique sur le nombre de commentaires, ils s'affichent
donc un peu de jquery
voici mon code:

<?php
echo "vous avez ".$nbP." publication(s)<br>";
if($nbP>0)
{
while ($Valeur=$resultatpub->fetch())
{
echo "<h3><img src=../userImage/".$Valeur['img_Pr']." height=100 width=150 title=".$Valeur['desc_Fr']."></h3><h4>Produit:".$Valeur['nom_Fr']." </h4><h5>".$Valeur['date']." </h5><p id=go>--------";
$nbCmt=Commentaire::nbCmt($Valeur['idpub']);
if ($nbCmt>0)
{
echo "<p id=go>"; echo $nbCmt."Commentaire ";
echo"</p>";
$resultatcmt=Commentaire::getCmt($Valeur['idpub'],$user->id);
echo "<div id=cmt>";
while ($Val=$resultatcmt->fetch())
echo "<b>".$Val['identifiant']."</b> a ecrit le <b>".$Val['date']."</b>\"<b>".$Val['contenu']."</b>\"<br>";
echo "</div>";
}
else echo "Aucun commentaire";
$idp=$Valeur['idpub'];
echo "<form name=f1 action=ajoutcmt.php?idpub=$idp method=post><input type=text name=cmt value=ajouter-commentaire style=fontsize:
small; onFocus=javascript:this.value=''><input type=submit value=comment></form>";
echo "<br><hr>";
}
}
else echo " vous n'avez aucun publication";

?>
<script type="text/javascript">
$('#cmt').hide();
$('#go').click(function() {
$('#cmt').slideToggle();
});
</script>

Bon, ici il m'affiche directement les commentaires, j'ai remarquer que <div id='cmt'> va causer un prob car il va y avoir plusieurs div avec le meme id selon le nombre de publications!
Comment je peux resoudre le prob SVP
Merci

9 réponses

  1. en remplacant id par class

    <div class='cmt'>
    
    <script type="text/javascript">
    $('.cmt').hide();
    $('#go').click(function() {
    $('.cmt').slideToggle();
    });
    </script> 
    1. Merci bien, votre réponse m'a aidé!
      quelle est la difference entre id et class svp?
      Mais encore erreur, avec votre solution les commentaires sont bien caché tous mais si je clique pour voir ceux d'une telle pub, il ne s'affichent pas?
      1. encore, lorsque j'ai remlacé les 2 (go et cmt) par classe
        et j'ai fais
        <script type="text/javascript">
        $('.cmt').hide();
        $('.go').click(function() {
        $('.cmt').slideToggle();
        });
        </script>

        lorsque je clique sur les comment d'une pub pour les afficher tous les autres cmnt des autres pub s'affichent aussi
        1. alors la différence, c'est que id doit être unique et class peut être réutilisé autant de fois que nécessaire

          <script type="text/javascript">
          $('.cmt').hide();
          $('.go').click(function() {
          	$(this).children('div.cmt').slideToggle();
          });
          </script> 
          
          1. ok j'ai essayé mais encore les commentaires ne s'affichent pas!
            Merci de chercher avec moi comment peut etre resolu ce probleme
            1. Merci en tt k
              voila j'ai reussi a resoudre le probleme tt a l'heure
              voila le nouveau code
              A+
              <?php
                  echo "vous avez ".$nbP." publication(s)<br>";
                  if($nbP>0)
                  {
                      while ($Valeur=$resultatpub->fetch())
                      {
                          echo "<h3><img src=../userImage/".$Valeur['img_Pr']." height=100 width=150 title=".$Valeur['desc_Fr']."></h3><h4>Produit:".$Valeur['nom_Fr']." </h4><h5>".$Valeur['date']." </h5><p id=go>--------";
                          $nbCmt=Commentaire::nbCmt($Valeur['idpub']);
                          if ($nbCmt>0)
                          {
                              echo "<p class=\"affichage_commentaire\">"; echo $nbCmt."Commentaire ";
                              echo"</p>";
                              $resultatcmt=Commentaire::getCmt($Valeur['idpub'],$user->id);
                              echo "<div class=\"cmt\">";
                              while ($Val=$resultatcmt->fetch())
                                  echo "<b>".$Val['identifiant']."</b> a ecrit le <b>".$Val['date']."</b>\"<b>".$Val['contenu']."</b>\"<br>";
                              echo "</div>";
                          }
                          else
                              echo "Aucun commentaire";
                          $idp=$Valeur['idpub'];
                          echo "<form name=f1 action=ajoutcmt.php?idpub=$idp method=post><input type=text name=cmt value=ajouter-commentaire style=fontsize:small; onFocus=javascript:this.value=''><input type=submit value=comment></form>";
                          echo "<br><hr>";
                      }
                  }
                  else 
                      echo " vous n'avez aucun publication";
              ?>
              <script type="text/javascript">
                  $(document).ready(function(){
                      $('.cmt').hide();
                      $('.affichage_commentaire').click(function() {
                          $(this).next('.cmt').slideToggle();
                      });
                  });
              </script>