Article

Résolu
Lamastiko Messages postés 190 Statut Membre -  
hharchi9 Messages postés 693 Statut Membre -
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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
  2. hharchi9 Messages postés 693 Statut Membre 24
     
    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
    0
  3. Lamastiko Messages postés 190 Statut Membre 108
     
    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 :)
    0
  4. Lamastiko Messages postés 190 Statut Membre 108
     
    Ho merci beaucoup mon problème et résolu :D
    0
    1. hharchi9 Messages postés 693 Statut Membre 24
       
      Bonne continuation !
      0