Article

Résolu/Fermé
Lamastiko Messages postés 153 Date d'inscription mardi 17 décembre 2013 Statut Membre Dernière intervention 13 mars 2016 - 26 févr. 2015 à 21:00
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 - 27 févr. 2015 à 16:43
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

4 réponses

jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 666
Modifié par jordane45 le 27/02/2015 à 13:13
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
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
Modifié par hharchi9 le 26/02/2015 à 23:45
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
Lamastiko Messages postés 153 Date d'inscription mardi 17 décembre 2013 Statut Membre Dernière intervention 13 mars 2016 49
27 févr. 2015 à 12:27
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
Lamastiko Messages postés 153 Date d'inscription mardi 17 décembre 2013 Statut Membre Dernière intervention 13 mars 2016 49
27 févr. 2015 à 13:19
Ho merci beaucoup mon problème et résolu :D
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
27 févr. 2015 à 16:43
Bonne continuation !
0