Article

Résolu
Bonsoir !

Alors voilà, j'ai une page ou j'affiche le contenu d'une de mes tables :

<?php
     try
     {
          $bdd = new PDO('mysql:host=localhost;dbname=MaBDD', 'MonUSer', 'MonMDP');
     }
								
     catch(Exception $e)
     {
          die('Erreur : '.$e->getMessage());
     }
								
     $reponse = $bdd->query('SELECT * FROM mods WHERE version=\'1.8\' AND categorie=\'cheat\'');
								
     while ($donnees = $reponse->fetch())
     {
								
?>
						
<!-- [DEBUT] Mod -->
     <div class="4u">
          <section class="highlight">
               <a href="#" class="image featured"><img src="<?php echo $donnees['image']; ?>" alt="<?php echo $donnees['nom']; ?>" /></a>
                    <h3><a href="#"><?php echo $donnees['nom']; ?></h3>
                         <ul class="actions">
                              <li><a href="#" class="button style1">En savoir plus</a></li>
                         </ul>
          </section>
     </div>
<!-- [FIN] Mod -->

<?php

     }

     $reponse->closeCursor();

?>


Jusque là tout va bien tout marche.

Maintenant je voudrais quand quand je clique sur le bouton :

<ul class="actions">
     <li><a href="#" class="button style1">En savoir plus</a></li>
</ul>


sa me redirige vers une page ou l'article s'affiche.

Et là je ne sais comment faire :/ Je ne vais tout de même pas créer une page pour chaque entrées de ma table ? T_T

Merci d'avance

Lamastiko

--
« Mieux vaut mourir debout que de vivre à genoux »
Si vous avez votre réponse merci de mettre votre post en [Résolu] !

4 réponses

  1. Ho merci beaucoup mon problème et résolu :D
    1. Bonne continuation !
  2. Modérateur
    Bonjour,

    Essayes ceci :
    <!-- [DEBUT] Section "Mod | 1.8 | Cheat | Article" -->
    <?php
    //------------------------------------------------------------------------        
    // Cette partie devrait plutôt être placée dans un fichier à part
    //dont tu ferais juste l' INCLUDE  
       try
         {
              $bdd = new PDO('mysql:host=localhost;dbname=lcm_mqcb', 'lcm_mqcb', 'LeCoinMinecraft');
         }
            
         catch(Exception $e)
         {
              die('Erreur : '.$e->getMessage());
         }
    //------------------------------------------------------------------------
        
         $id = isset($_GET['a'])?htmlspecialchars($_GET['a']):NULL;
         if($id){       
           $sql="SELECT * FROM mods WHERE id='$id' ";
           $reponse = $bdd->query($sql);
    
         while ($donnees = $reponse->fetch()) {
            
    ?>
       
         <div id="intro-wrapper" class="wrapper style1">
              <div class="title">Mod | 1.8 | Cheat | <?php echo $donnees['nom']; ?></div>
                   <section id="intro" class="container">
                        <p class="style1">
                             <?php echo $donnees['nom']; ?>
                             <?php echo $donnees['auteur']; ?>
                        </p>
                        <p class="style2">
                             <img src="<?php echo $donnees['image']; ?>"/>
                        </p>
               
                        <h1>Présentation</h1>
                             <p class="style3">
                                  <?php echo $donnees['description']; ?>
                             </p>
            
                        <h1>Tutoriel</h1>
                             <p class="style3">
                                  <?php echo $donnees['tuto']; ?>
                             </p>
            
                        <h1>Liens</h1>
                             <p class="style3">
                                  <?php echo $donnees['liens']; ?>
                             </p>
                   </section>
         </div>
       
    <?php
           
         }// fin du While
      $reponse->closeCursor();  
    }// fin du IF
            
    ?>
    <!-- [FIN] Section "Mod | 1.8 | Cheat | Article" -->
          
    


    Cordialement,
    Jordane
    1. Merci de votre réponse !

      Mon problème est presque résolu.

      Alors j'ai suivi vos instructions j'ais mis :

      <ul class="actions">
          <li><a href="voirarticle.php?a=<?php echo $donnees['id']; ?>" class="button style1">En savoir plus</a></li>
      </ul>
      


      Jusque là tout va bien, l'ID s'affiche dans l'URL c'est perfect.

      Après le problème c'est à l'affichage de l'article :/

      Moi j'ai mit ce code :

      <!-- [DEBUT] Section "Mod | 1.8 | Cheat | Article" -->
      <?php
      								
           try
           {
                $bdd = new PDO('mysql:host=localhost;dbname=lcm_mqcb', 'lcm_mqcb', 'LeCoinMinecraft');
           }
      								
           catch(Exception $e)
           {
                die('Erreur : '.$e->getMessage());
           }
      				
           $id = htmlspecialchars($_GET['a']);
      								
           $reponse = $bdd->query('SELECT * FROM mods WHERE id=\'.$id\'');
      								
           while ($donnees = $reponse->fetch())
           {
      								
      ?>
      			
           <div id="intro-wrapper" class="wrapper style1">
                <div class="title">Mod | 1.8 | Cheat | <?php echo $donnees['nom']; ?></div>
                     <section id="intro" class="container">
                          <p class="style1">
                               <?php echo $donnees['nom']; ?>
                               <?php echo $donnees['auteur']; ?>
                          </p>
                          <p class="style2">
                               <img src="<?php echo $donnees['image']; ?>"/>
                          </p>
      			        
                          <h1>Présentation</h1>
                               <p class="style3">
                                    <?php echo $donnees['description']; ?>
                               </p>
      				    
                          <h1>Tutoriel</h1>
                               <p class="style3">
                                    <?php echo $donnees['tuto']; ?>
                               </p>
      				    
                          <h1>Liens</h1>
                               <p class="style3">
                                    <?php echo $donnees['liens']; ?>
                               </p>
                     </section>
           </div>
      			
      <?php
      							
           }
      								
           $reponse->closeCursor();
      								
      ?>
      <!-- [FIN] Section "Mod | 1.8 | Cheat | Article" -->
      


      Je pense que j'ai fait une erreur grosse comme ça mais vu que je suis encore débutant je ne sais pas où.

      Encore merci pour votre aide :)
      1. Bonsoir,

        Vous pouvez créer une page (voirarticle.php, par exemple) à laquelle vous envoyez par l'url l'id de l'article. Je m'explique. Dans votre while vous modifier la déclaration de l'élément li en :

        <ul class="actions">
            <li><a href="voirarticle.php?a=<?php echo $donnees['id']; ?>" class="button style1">En savoir plus</a></li> // cela permet de transmettre à la page voirarticle l'id de l'article que l'on veut lire ; NB: j'ai mis "a" pour article mais vous pouvez mettre ce que vous voulez
        </ul>


        Ensuite, sur voirarticle.php on récupère l'id reçue :

        <$id=htmlspecialchars($_GET['a']) // htmlspecialchars convertit les caractères spéciaux en entités HTML ;; $_GET('a'] retourne l'id passé dans l'url


        Il ne reste plus qu'à récupérer l'article dans votre base de données avec un
        WHERE id='$id'
        et à l'afficher dans votre page !

        Espérant avoir été clair et vous avoir aidé,

        Amicalement,

        hharchi9