Cacher des élement dans une boucle php

Résolu
hooli Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   -  
jojo673 Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   -
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!

A voir également:

1 réponse

jojo673 Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   44
 
Dans ton code JavaScript la variable id_commentaire est inconnue. Remplace là par id
0