Le Lundi, 2 Septembre 2002 00.26, Rafael Mu�oz Moreno Davila a �crit :
> Hello!
>
> Voil�, j'ai �t� prendre un petit code sur le net et je l'est mis � ma
> sauce pour qu'il fasse ce que je veux.
> Le probl�me est le suivant:
>
> <html>
> <head>
> <title>menu deroulants</title>
> </head>
> <body>
> <script language="PHP">
>
> echo "<form name = \"form\" action=\"\">";
>
Pourquoi ne rien mettre dans action?
par ex: action=\"$PHP_SELF\"
et rajouter method="post" ou method="get"
> $table="Dolphins";
> $champ="label";
> $url="url";
>
> $connection = mysql_connect("localhost", "root", "1h2wvj2a");
>
Comme d�ja mentionn�, ne pas utiliser root.
> //r�cup�ration des valeurs
> mysql_select_db("menu_deroulants", $connection);
> $result=mysql_query("SELECT $champ FROM $table");
Tu ne mais pas de clause "WHERE", j'en d�duis donc qu'il y a plusieurs
enregistrement.
>
> //affichage de la liste :
> echo "<select name=\"$champ\" size=1>";
> echo "<option selected>";
Il manque un value=\"ma valeur\" ici non?
> $row = mysql_fetch_row($result);
> echo $row[0];
> echo "</option>";
>
> //insertion des �l�ments dans la liste
> while ($aff_result=mysql_fetch_object($result))
Pourquoi changer de m�thode (mysql_fetch_object) et auparavant
mysql_fetch_row.
> {
> $i=1;
Attention, ton $i est initialis� � 1 � chaque it�ration de la boucle..
> echo "<option value=\"";
> $result2=mysql_query("SELECT $url FROM $table");
Pouquoi faire la requ�te en deux fois, de plus, tu ne sembles pas avoir
d'index dans la table?
> $row2 = mysql_fetch_row($result2);
> echo $row2[$i];
faire echo $row2[$i][$url]
> echo "\">";
> $valeur=$aff_result->$champ;
> echo "$valeur</option>";
> $i++;
> }
>
> //fin d'affichage de la liste
> echo "</select>";
> echo "</form>";
>
> mysql_close($connection);
>
> </script>
> </body>
> </html>
>
> J'aimerais que �a me donne une ligne comme �a:
>
> <option value="SlideShow/slideAmazon.html">SlideShow of Amazon River
> Dolphins</option>
>
> Mais �a me donne juste:
>
> <option value=" ">SlideShow of Amazon River Dolphins</option>
>
> J'ai cherch� mais en vain... qqn pourais il me dire ou est le probl�me?
>
> Merci! Bye!
faire un truc du genre:
<?php
$db=mysql_connect("localhost", "user", "pass");
$db=mysql_select_db("ma_base");
//il faudrait tester $db (avec mysql_error() par ex.)
$query="SELECT label, url FROM Dolphins");
//on s�lectionne label et url en m�me temps.
$result=mysql_query($query, $db);
$row=mysql_fetch_assoc($result);
//On stock toutes lignes dans un tableau associatif
?>
//en php, on peut ouvrir et fermet les balises php n'importe quand.
<html>
<head>
<title>Mon titre</title>
</head>
<body>
<form name="ma_form" method="post" action="<?php echo $PHP_SELF ?>">
//$PHP_SELF correspond au nom du script.
<select name="select_name">
<?php
foreach($row as $key=>$val){ //pour passer � travers un tableau
associatif.
if($key=="0"){ //si c'est le premier �l�ment.
$selected="selected";
}
else{
$selected="";
}
print("<option value=\"".$val[url]."\"
$selected>".$val[label]."</option>");
}
?>
</select>
</form>
</body>
</html>
PS: je te conseille de commencer petit � petit (d'abord, comprendre php,
ensuite comprendre mysql, ensuite mixer tout ensemble..
--
Yann Sagon
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.