Cacher des élement dans une boucle php

Résolu/Fermé
hooli Messages postés 85 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 1 décembre 2011 - 3 oct. 2011 à 09:49
jojo673 Messages postés 210 Date d'inscription lundi 19 septembre 2011 Statut Membre Dernière intervention 9 avril 2014 - 3 oct. 2011 à 16:57
Bonjour,

J'essaie de cacher des commentaires.
Cependant, il peut avoir plusieurs commentaire par article je dois donc mettre dans une boucle mais ça ne marche pas (peut être problème de paramètre id.. je sais pas, il affiche "afficher", mais je ne peux pas cliquer dessus)

Voici mon code:

$req = $bdd->prepare('SELECT id_commentaire, auteur, commentaire, date_commentaire, ip_auteur FROM T_Commentaire  WHERE id_news = ? ORDER BY date_commentaire');
    $req->execute(array($_GET['news']));
    while ($donnees = $req->fetch())
    {  
    ?>    
    <li><p><h4><?php echo htmlspecialchars($donnees['auteur']); ?>  </h4> le <?php echo $donnees['date_commentaire']; ?></p> <?php if(isset($_SESSION['login'])) {?> (IP: <?php echo $donnees['ip_auteur'];?>) <?php }?> 
    <p><?php echo nl2br(htmlspecialchars($donnees['commentaire'])); ?>
     <a id="voir-<?php echo $donnees ['id_commentaire']; ?>" onclick="divaffiche('<?php echo $donnees ['id_commentaire']; ?>')" style="font-size:9px;display:inline;">Afficher</a>
    <a id="cache-<?php echo $donnees ['id_commentaire']; ?>" onclick="divcache('<?php echo $donnees ['id_commentaire']; ?>')" style="font-size:9px;display:none;">Cacher</a></li>
    <div id="popup-<?php echo $donnees ['id_commentaire']; ?>" style="display:none;height:5em; width:300px;margin:auto;border:solid;"><?php echo $donnees ['enonce']; ?>
  </div>

        


    </p> 
<?php
    } // Fin de la boucle des commentaires?>
     




Et mon code javascript:

<!--// [CDATA[
    function divaffiche(id){
      document.getElementById("popup-"+id_commentaire).style.display = "block";
      document.getElementById("cache-"+id_commentaire).style.display = "inline";
      document.getElementById("voir-"+id_commentaire).style.display = "none";
    }
    function divcache(){
      document.getElementById("popup-"+id_commentaire).style.display = "none";
      document.getElementById("cache-"+id_commentaire).style.display = "none";
      document.getElementById("voir-"+id_commentaire).style.display = "inline";
    }
 
// ]] -->
</script>


Le code javascript est une code que j'ai trouvé ici: https://openclassrooms.com/forum/sujet/comment-affichercacher-des-elements-dans-une-boucle-php-31976

Merci d'avance!

1 réponse

jojo673 Messages postés 210 Date d'inscription lundi 19 septembre 2011 Statut Membre Dernière intervention 9 avril 2014 44
3 oct. 2011 à 16:57
Dans ton code JavaScript la variable id_commentaire est inconnue. Remplace là par id
0