Espace commentaire.

Résolu
Bonjour, je suis actuellement entrain de créer un espace commentaire en dessous de chaque post que je crée. Cependant tout les posts s'affiche l'un en dessous de l'autre et donc j'ai créer une boucle while() regroupant tout les articles de ma BDD.

while($donnees_post_affichage = $req_post_affichage->fetch())
           {

           $pseudo_affichage = $donnees_post_affichage['pseudo'];
           $title_affichage = $donnees_post_affichage['title'];
           $message_affichage = $donnees_post_affichage['message'];
           $id_affichage = $donnees_post_affichage['id'];

        echo "<div class='post_affichage'>

        <div class='title_affichage'>".$id_affichage.".  ".$title_affichage."</div>

        <div class='pseudo_affichage'>  by ".$pseudo_affichage."</div>
        <div class='message_affichage'>".$message_affichage."</div>
         <div class='commentaire'>
          <FROM action='' method='POST'>
           <img src='membres/avatar/".$profile_picture."' class='commentaire_image_case'/>
           <textarea name='commentaire_case_$id_affichage' class='commentaire_case' placeholder='Ecrire un commentaire...'></textarea>
           <input type='submit' name='commentaire_envoi_$id_affichage' class='commentaire_envoi'>
          </from>
         </div>
        </div>

        ";
        }


Mais si l'utilisateur clique sur le bouton d'envoi comme c'est le même bouton pour chaque post j'ai décider d'ajouter le
 $id_affichage
comme ceci
name='commentaire_envoi_$id_affichage'
pour que chaque bouton d'envoie soit différent des autres.. Malheureusement lorsque je passe a la vérification du 'cliquage' du bouton je bloque car j'ai procéder comme cela

  if($pseudo)
      {

       if (isset($_POST["commentaire_envoi_$id_affichage"]))
       {
        echo 'coucou';
       }
      }
       


Mais ca ne fonctionne pas et je pense savoir pourquoi puisque le $id_affichage pourrait être nimporte le quel j'aimerais donc qu'il prenne en compte tout les $id_affichage et qu'il regarde le quel est le bon :) Je n'ai pas trouver comment faire c'est pour cela que je viens à vous :) Merci à ceux qui m'aideront ^^

2 réponses

  1. Modérateur
    Bonjour,
    Je pense que tes boutons doivent avec tous le même nom.
    Par contre, tu ajoutes pour chaque item de ta liste un champ de type input hidden dans lequel tu stockes cet ID.
    Ca te permettra de savoir lequel ça concerne....

    -1
    1. Salut, merci de ta réponse plus que rapide. J'ai réussi a faire ce que tu as dis donc maintenant il insère bien dans la table avec les bonnes id de post

      <div class='commentaire'>
                <form action='' method='POST'>
                 <img src='membres/avatar/".$profile_picture."' class='commentaire_image_case' />
                 <textarea name='commentaire_case' class='commentaire_case' placeholder='Ecrire un commentaire...'></textarea>
                 <button type='submit' name='commentaire_envoi' class='commentaire_envoi'>Envoyer</button>
                 <input type='hidden' name='identification_post' value='".$id_affichage."' />
                </form>
                <div class='affichage_commentaire'>
                
                </div>
               </div>


      Maintenant il faudrait afficher les commentaires en dessous des bons posts mais je bloque car comme j'ai fait :

       while($donnees_post_affichage = $req_post_affichage->fetch() AND $donnees_coms_affichage = $req_coms_affichage->fetch())
                 {
      
                 $pseudo_affichage = $donnees_post_affichage['pseudo'];
                 $title_affichage = $donnees_post_affichage['title'];
                 $message_affichage = $donnees_post_affichage['message'];
                 $id_affichage = $donnees_post_affichage['id'];
      
                 $commentaire_recu = $donnees_coms_affichage['commentaire'];
                 $pseudo_recu = $donnees_coms_affichage['pseudo'];
                 $id_post_recu = $donnees_coms_affichage['id_post'];
                
              echo "<div class='post_affichage'>
      
              <div class='title_affichage'>".$id_affichage.".  ".$title_affichage."</div>
      
              <div class='pseudo_affichage'>  by ".$pseudo_affichage."</div>
              <div class='message_affichage'>".$message_affichage."</div>
               <div class='commentaire'>
                <form action='' method='POST'>
                 <img src='membres/avatar/".$profile_picture."' class='commentaire_image_case' />
                 <textarea name='commentaire_case' class='commentaire_case' placeholder='Ecrire un commentaire...'></textarea>
                 <button type='submit' name='commentaire_envoi' class='commentaire_envoi'>Envoyer</button>
                 <input type='hidden' name='identification_post' value='".$id_affichage."' />
                </form>
                <div class='affichage_commentaire'>
                
                </div>
               </div>
              </div>";
      
              }


      Il affiche le pseudo en dessous de tous..
      0
    2. Up je n'ai toujours pas trouvé comment faire :/
      0
    3. Bonjour,
      Quand tu fais la requête tu récupère bien les commentaires et les poste associé ? C'est juste un problème d'affichage?
      0
    4. Salut,

      Oui en fait il faudrait que chaque commentaire soit en dessous des bon posts mais pas moyen d'y arriver comme j'ai fait au dessus :/
      0
    5. Est ce que tu peux poster le code source html ?
      0