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

Eléphant du PHP | 78 Messages

11 sept. 2006, 15:25

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(); ?>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 sept. 2006, 15:31

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 :?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 78 Messages

11 sept. 2006, 16:09

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.
Modifié en dernier par albatross le 11 sept. 2006, 16:35, modifié 2 fois.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

11 sept. 2006, 16:21

Utilises les bbcodes PHP pour colorer ta syntaxe.

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

Eléphant du PHP | 78 Messages

11 sept. 2006, 16:36

voilà c'est fait.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

11 sept. 2006, 16:38

Et ? Le souci persiste ?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

11 sept. 2006, 16:43

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>";

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

11 sept. 2006, 16:46

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>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 78 Messages

11 sept. 2006, 16:53

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.

Eléphant du PHP | 78 Messages

11 sept. 2006, 17:24

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. :)

Avatar du membre
ViPHP
ViPHP | 3008 Messages

11 sept. 2006, 20:15

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.

Eléphant du PHP | 78 Messages

12 sept. 2006, 10:49

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.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

12 sept. 2006, 10:52

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.

Eléphant du PHP | 78 Messages

12 sept. 2006, 11:12

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.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

12 sept. 2006, 11:13

Oui la second option. Il faut éviter de stocker des images en BDD, juste les liens.