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 :cry:

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 :

Code : Tout sélectionner

Erreur :Unknown database 'resource id #2'
Il ne sait pas importer mais je ne voie pas pourquoi? :oops:

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 :wink: ) 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 :wink: ) son contenu mais dans toujours encadrée par des balises <option>


Oui merci, mais j'ai quand même du mal à suivre :oops:
$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";