Mise sous forme de liens des résultats d'une requête en php

Mise sous forme de liens des résultats d'une requête en php - PHP - Programmation

Marsh Posté le 16-07-2008 à 16:52:49    

Bonjour
 
Je suis débutant en PHP. :??:  
j'ai réussi à faire une requête d'interrogation
d'une base à l'aide d'une page en php et afficher les résultats de cette requête à l'écran.
Je voudrai que les résultats de cette requête apparaissent sous la forme de liens du genre :
http://......php?id=...
On aurait ainsi accès encore à l'aide d'une page en php aux détails de chaque champ de la base issu de la requête initiale.
Je ne sais pas comment m'y prendre.
Pourriez-vous m'aiguiller ?
 
Merci.

Reply

Marsh Posté le 16-07-2008 à 16:52:49   

Reply

Marsh Posté le 16-07-2008 à 16:54:32    

Tu as un bout de code à nous montrer ?


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 16-07-2008 à 16:56:29    

SICKofitALL a écrit :

Tu as un bout de code à nous montrer ?


Je suis au boulot actuellement et je n'ai pas le script sous la main.
Je post ça tout à l'heure.  ;)

Reply

Marsh Posté le 16-07-2008 à 17:52:53    

Filidor a écrit :


Je suis au boulot actuellement et je n'ai pas le script sous la main.
Je post ça tout à l'heure.  ;)


Voici le code associé à ma question :
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
 <head>
  <title>Armes</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <link rel="stylesheet" media="screen" type="text/css"
  title="Mon style" href="style.css" />
 </head>
 <body>
<p>
 <?php
mysql_connect("localhost", "root@localhost", "" ); // Connexion à MySQL
mysql_select_db("test" ); // Sélection de la base test
 
$reponse = mysql_query("SELECT * FROM armes WHERE Idtypearme=3" ); // Requête SQL
 
 
// Avec cette boucle, on liste uniquement le nom des armes :
 
while ($donnees = mysql_fetch_array($reponse) )
{
    echo $donnees['Nomarme'];
    echo "<br />";
}
 
mysql_close(); // Déconnexion de MySQL
?>
</p>
 </body>
</html>
 
 
Je voudrai en fait que le champ "Nomarme" variable $donnees s'affiche sous forme de liens.

Reply

Marsh Posté le 16-07-2008 à 17:57:23    

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3.     <head>
  4.         <title>Armes</title>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6.     <link rel="stylesheet" media="screen" type="text/css"
  7.         title="Mon style" href="style.css" />
  8.     </head>
  9.     <body>
  10. <p>
  11.     <?php
  12. mysql_connect("localhost", "root@localhost", "" ); // Connexion à MySQL
  13. mysql_select_db("test" ); // Sélection de la base test
  14.  
  15. $reponse = mysql_query("SELECT * FROM armes WHERE Idtypearme=3" ); // Requête SQL
  16.  
  17.  
  18. // Avec cette boucle, on liste uniquement le nom des armes :
  19.  
  20. while ($donnees = mysql_fetch_array($reponse) )
  21. {
  22.    ?>
  23.     <a href="arme.php?id_arme=<?php echo $donnees['id_arme'] ?>">
  24.    <?php echo $donnees['Nomarme']; ?>
  25.    </a>
  26.    <br />
  27.    <?php
  28. }
  29.  
  30. mysql_close(); // Déconnexion de MySQL
  31. ?>
  32. </p>
  33.     </body>
  34. </html>


 
Ton lien mène vers quoi ?

Message cité 1 fois
Message édité par Profil supprimé le 16-07-2008 à 17:58:59
Reply

Marsh Posté le 16-07-2008 à 18:02:02    


 
En fait, ce lien doit mener à l'affichage de toutes les caractéristiques de l'arme (champs issus de la tables armes)
Je ne sais pas s'il est possible de refaire une requête php sur ce lien pour obtenir le résultat voulu.
Merci pour ta réponse.

Reply

Marsh Posté le 16-07-2008 à 18:07:48    

Oui.
Pour çà, il faut que tu crée une page arme.php qui affiche toutes les infos sur l'arme passé en paramètre GET
($_GET['id_arme'])
et que tu fasses :
 mysql_query("SELECT * FROM armes WHERE id_arme={$_GET['id_arme']}" )
et qu'ensuite tu affiche cela avec mysql_fetch_assoc
 
id_arme, dans ta table, correspond à l'id unique de chaque arme.
Il faudra donc remplacer id_arme dans ta requête par le nom de ce champ.
 
Pour le fichier dont tu as posté le code, le lien mènera vers la page arme.php?id_arme=$donnee['id_arme'] => id_arme à remplacer par le champ id unique de chaque arme dans le tableau $donnee.

Reply

Marsh Posté le 16-07-2008 à 18:30:56    


Merci à toi c'est cool ca fonctionne.
Par contre comme j'aime comprendre ce que je fais, pourrais-tu m'expliquer cette ligne de code :  
mysql_query("SELECT * FROM armes WHERE id_arme={$_GET['id_arme']}" )
notamment {$_GET['id_arme']}" ) :??:  
 
Merci encore pour tout.

Reply

Marsh Posté le 16-07-2008 à 18:34:18    

même principe que la ligne 15 de ton code :

Code :
  1. $reponse = mysql_query("SELECT * FROM armes WHERE Idtypearme=3" );


 
Sauf que la, la requête signifie :
TOUT PRENDRE DEPUIS LA TABLE armes QUAND id_arme EST EGAL A l'id passé en URL.
Si la variable est entre crochets c'est parce sinon la faut concaténer et j'avais la flemme. :/

Reply

Marsh Posté le 16-07-2008 à 18:44:44    


 
Merci beaucoup  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed