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. 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. 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
      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. Ho merci beaucoup mon problème et résolu :D
          1. Bonne continuation !