Page 1 sur 1
Menu déroulant et MySQL
Posté : 27 juil. 2006, 18:00
par dunbar
Bonjour,
J'essaye de créer un menu deroulant qui va chercher les infos dans une TABLE, mais je ne sais pas pourquoi mon code ne fonctionne pas..
<?php
$host = "localhost";
$user = "";
$pass = "";
$db = "";
$db = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$link = "SELECT vd-cablingcom2, FROM chantier";
$result = mysql_query($link);
$contenu = "<select name='ref_chantier'>\n";
while (($row = mysql_fetch_array)) {
$contenu .= "<option value='". $row['id_chantier'] . "</option>\n";
}
$contenu .= "</select>\n";
?>
La TABLE --> "chantier"
Le champ de la TABLE "ref_chantier"
Quelqu'un y verrais t'il une erreur ???
D'avance merci
Posté : 27 juil. 2006, 18:12
par spirou
Tu n'as pas mis le nom de ton mysql_query dans ton fetch_array.
while ( ($row = mysql_fetch_array($result) )
Posté : 27 juil. 2006, 19:01
par dunbar
Tu n'as pas mis le nom de ton mysql_query dans ton fetch_array.
while ( ($row = mysql_fetch_array($result) )
Merci mais cela ne fonctionne pas mieux

Posté : 27 juil. 2006, 19:09
par aelurus
Salut
$contenu .= /*php "<option value='". /php*/ $row['id_chantier'] . "</option>\n";
pourquoi le point a pres ta variable
et
"<option value='".
???
Puis question bete les print ou echo sont ou comment gere tu l'affichage ?
Re: Menu déroulant et MySQL
Posté : 27 juil. 2006, 21:07
par Truc
Quelqu'un y verrais t'il une erreur ???
$link = "SELECT vd-cablingcom2, FROM chantier";
le nom du champ (tu parles de ref_chantier au début) et la virgule juste après.
pourquoi le point a pres ta variable
Pour concaténer
Un découpage propre entre la chaine de caractère et la variable.
Re: Menu déroulant et MySQL
Posté : 27 juil. 2006, 21:34
par dunbar
Quelqu'un y verrais t'il une erreur ???
$link = "SELECT vd-cablingcom2, FROM chantier";
le nom du champ (tu parles de ref_chantier au début) et la virgule juste après.
pourquoi le point a pres ta variable
Pour concaténer
Un découpage propre entre la chaine de caractère et la variable.
Voilà j'ai refait mon code mais bon j'ai toujours rien
$select = 'SELECT ref_chantier FROM chantier';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
$result = mysql_query($select,$link);
$contenu = "<select name='chantier en cours'>\n";
while (($row = mysql_fetch_array)) {
$contenu .= "<option value='". $row['ref_chantier'] . "</option>\n";
}
echo '</select>'."\n";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nouvelle page 1</title>
</head>
<body>
<p><select size="1" name="chantier en cours">
<option value= "<? "$contenu" ?>"</option>
</select></p>
</body>
</html>
Et je me retrouve avec ceci comme erreur :
Il ne sait pas importer mais je ne voie pas pourquoi?

Posté : 27 juil. 2006, 21:36
par Truc
Une requête ne s'exécute qu'une seule fois donc un appel à mysql_query()
et
Tu n'as pas mis le nom de ton mysql_query dans ton fetch_array.
while ( ($row = mysql_fetch_array($result) )
Enuite regarde bien ce que tu fait... la variable contien des balises <option> ensuite tu veux afficher (sans echo biensûr

) son contenu mais dans toujours encadrée par des balises <option>
Posté : 27 juil. 2006, 22:04
par dunbar
Une requête ne s'exécute qu'une seule fois donc un appel à mysql_query()
et
Tu n'as pas mis le nom de ton mysql_query dans ton fetch_array.
while ( ($row = mysql_fetch_array($result) )
Enuite regarde bien ce que tu fait... la variable contien des balises <option> ensuite tu veux afficher (sans echo biensûr

) son contenu mais dans toujours encadrée par des balises <option>
Oui merci, mais j'ai quand même du mal à suivre

$db = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($base) or die ('Erreur :'.mysql_error());
$select = 'SELECT ref_chantier FROM chantier';
$result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
$result = mysql_query($select);
echo "<select name='ref_chantierchantier'>";
while($row = mysql_fetch_array($result))
{
echo "<option value='".$row['ref_chantier'] . "</option>\n";
}
echo '</select>'."\n";
?>
Posté : 27 juil. 2006, 23:57
par Truc
Regarde le code source généré au niveau des "<option value=" il manque quelque chose.
Posté : 28 juil. 2006, 09:08
par dunbar
Salut
Oui je sais mais je ne voie pas quoi sorry
Oui ok j'ai trouver
Merci
echo "<option value='".$row['id_chantier'] ."'>".$row['ref_chantier'];" </option>\n";