Affichage des commentaire en php

samn1 Messages postés 88 Statut Membre -  
samn1 Messages postés 88 Statut Membre -
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. maka54 Messages postés 721 Statut Membre 80
     
    en remplacant id par class

    <div class='cmt'>
    
    <script type="text/javascript">
    $('.cmt').hide();
    $('#go').click(function() {
    $('.cmt').slideToggle();
    });
    </script> 
    0
  2. samn1 Messages postés 88 Statut Membre
     
    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?
    0
  3. samn1 Messages postés 88 Statut Membre
     
    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
    0
  4. maka54 Messages postés 721 Statut Membre 80
     
    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> 
    
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. samn1 Messages postés 88 Statut Membre
     
    ok j'ai essayé mais encore les commentaires ne s'affichent pas!
    Merci de chercher avec moi comment peut etre resolu ce probleme
    0
  7. maka54 Messages postés 721 Statut Membre 80
     
    ton site est sur internet
    0
  8. samn1 Messages postés 88 Statut Membre
     
    non plus, je suis entrain de developper
    pas de solution?
    0
  9. maka54 Messages postés 721 Statut Membre 80
     
    sans pouvoir tester, c'est compliqué
    0
  10. samn1 Messages postés 88 Statut Membre
     
    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>
    
    0