Page 1 sur 2

Récupération d'une variable dans un lien

Posté : 11 sept. 2006, 15:25
par albatross
Après avoir fait ma requête et récupéré des valeurs sous la forme :
Liste des pesonees par ordre alphabétique commençant par A :
A1
A2
A3
...etc.
Je souhaiterais pouvoir obtenir un lien qui fasse qu'en cliquant sur A1 cela envoie à une page produit pour le A1 en question, pareil pour A2 et ainsi de suite.
Je sais que je dois récuépérer la valeur de la variable pour chaque résultat du tableau, mais la réalisation de ceci est assez flou pour moi qui suis un vrai newbie en Php.
pour info voici une partie du code de ma requête :
<?php
$query = "SELECT `a`.`Nom_A` FROM a WHERE `a`.`Nom_A` LIKE '$var%' ORDER BY `a`.`Nom_A` ASC "; 
 
 $result = mysql_query($query);
   while ($val = mysql_fetch_array($result))
   
        echo "-".$val["Prenom_A"]."".$val["Nom_A"]."<BR>"."<BR>";


?>
<? mysql_close(); ?>

Posté : 11 sept. 2006, 15:31
par zeus
Je pense que la page prévue pour afficher A1 doit avoir une url de la forme

Code : Tout sélectionner

page.php?page=A1
Dans ce cas, lorsque tu construit la liste, tu affiche un lien ou le contenu de la variable "page" est dynamique.

par exemple :
while ($val = mysql_fetch_array($result))
{
    echo "-<a href='page.php?page=".$val["Nom_A"].">".$val["Prenom_A"]."".$val["Nom_A"]."</a><BR>"."<BR>"; 
}
PS : est-ce que le prénom s'affiche bien dans ta liste ?
Parce que tu ne le sélectionne pas dans le SELECT de ta requete :-k :?

Posté : 11 sept. 2006, 16:09
par albatross
Voilà le code complet retouché avec tes valeurs (désolé de pas avoir tout mis au départ je pensais juste simplifier) :

$query = "SELECT `artiste`.`Nom_Artiste`,`artiste`.`Prenom_Artiste` FROM artiste WHERE `artiste`.`Nom_Artiste` LIKE '$var%' ORDER BY `artiste`.`Nom_Artiste` ASC "; 
 
 $result = mysql_query($query);
   while ($val = mysql_fetch_array($result))
   {
	    //echo "-".$val["Prenom_Artiste"]."".$val["Nom_Artiste"]."<BR>"."<BR>";
echo "-<a href='page.php?page=".$val["Nom_Artiste"].">".$val["Prenom_Artiste"]."".$val["Nom_Artiste"]."</a><BR>"."<BR>";
    } 
			?>
Par contre cela donne un lien mais n'affiche pas tous mes artistes :
En fait si on prend la lettre Y dans ma bd j'ai 5 entrées :
Yazoo
Yazz & The Plastic Population
-Yes
-Paul Young
-Sydney Youngblood

Ce qui est étonnant c'est que cela n'affiche que
Yaz
Paul Young
Syndey Youngblood.

QUand tu passes ton curseur sur "Yazz & The Plastic Population" le lien pointe vers http://planet-80.com/page.php?page=%3EY ... Ca%20href=, "Paul Young" sur http://planet-80.com/page.php?page=%3EY ... Ca%20href= et
Syndey Youngblood. sur http://planet-80.com/page.php?page=Sydney

Pour ce qui est de la page page.php?page=A1
elle n'a pas ce nom là, mais "artiste tout simplement.

Posté : 11 sept. 2006, 16:21
par charabia
Utilises les bbcodes PHP pour colorer ta syntaxe.

Pour ta boucle tu as oublié les accolades.
while(...)
{
...
}

Posté : 11 sept. 2006, 16:36
par albatross
voilà c'est fait.

Posté : 11 sept. 2006, 16:38
par charabia
Et ? Le souci persiste ?

Posté : 11 sept. 2006, 16:43
par charabia
Je viens de voir qu'il te manque un ' dans ton echo, correction :
echo "-<a href='page.php?page=".$val["Nom_Artiste"]."'>".$val["Prenom_Artiste"]." ".$val["Nom_Artiste"]."</a><BR><BR>";

Posté : 11 sept. 2006, 16:46
par sadeq
Il te manque la fin de la chaine HREF de ton lien : il faut ajouter une apostrophe '

Corrigé:
  • <a href='page.php?page=".$val["Nom_Artiste"]."'>".$val["Prenom_Artiste"]."".$val["Nom_Artiste"]."</a>
Ce qui donne à l'exécution :

Code : Tout sélectionner

<a href='page.php?page=blabla'>blabli blabla</a>

Posté : 11 sept. 2006, 16:53
par albatross
Merci Charabia,
Je bataille pour essayer d'afficher les valeurs de la variable Yazoo
<http://planet-80.com/artiste.php?page=Yazoo
.
Je vais essayer donc de le faire de mon côté... et tout seul et je vous tiens au courant.

Posté : 11 sept. 2006, 17:24
par albatross
Il te manque la fin de la chaine HREF de ton lien : il faut ajouter une apostrophe '

Corrigé:
  • <a href='page.php?page=".$val["Nom_Artiste"]."'>".$val["Prenom_Artiste"]."".$val["Nom_Artiste"]."</a>
Ce qui donne à l'exécution :

Code : Tout sélectionner

<a href='page.php?page=blabla'>blabli blabla</a>
En effet ça donne bien une url de la sorrte :
http://planet-80.com/artiste.php?page=Yazoo
Par contre dans la page artiste ce que je cherche à faire c'est pouvoir afficher le nom "Yazoo" et donc je cherche à récupérer et à afficher ce nom, plus d'autres infos contenues dans la bd. :)

Posté : 11 sept. 2006, 20:15
par charabia
Grâce à cette variable tu peux identifier les données à afficher dans ta requête.
"SELECT * FROM ta_table WHERE nom_artiste='".$_GET['page']."'";
L'* est à utiliser si tu récupères tous les champs. Si ce n'est pas le cas, mets juste les champs.

Posté : 12 sept. 2006, 10:49
par albatross
Merci beaucoup.
En bataillant j'ai réussi à afficher comme je veux les infos.
Maintenant, faut que je fouille dans mes dossiers pour afficher une photo.
Je l'avais déjà fait. Sinon je vais chercher dans le forum s'il y a un sujet qui traite de ça.

Posté : 12 sept. 2006, 10:52
par charabia
Pas besoin de fouiller :) Si tu a réussi à faire cette première étape, l'affichage de la photo est identique, tu récupères le lien à partir de ta base et tu l'affiches.

Posté : 12 sept. 2006, 11:12
par albatross
Justement.
Vaut-il mieux que j'insère mes photos dans la bd ou dans un dossier spécial photos. Il me semble que l'on m'avait déja conseillé la deuxième option.

Posté : 12 sept. 2006, 11:13
par charabia
Oui la second option. Il faut éviter de stocker des images en BDD, juste les liens.