Menu déroulant et MySQL

ViPHP
ViPHP | 2291 Messages

27 juil. 2006, 18:00

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
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphant du PHP | 172 Messages

27 juil. 2006, 18:12

Tu n'as pas mis le nom de ton mysql_query dans ton fetch_array.
while ( ($row = mysql_fetch_array($result) )

ViPHP
ViPHP | 2291 Messages

27 juil. 2006, 19:01

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:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphant du PHP | 177 Messages

27 juil. 2006, 19:09

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 ?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 juil. 2006, 21:07

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.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 2291 Messages

27 juil. 2006, 21:34

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:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 juil. 2006, 21:36

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>

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 2291 Messages

27 juil. 2006, 22:04

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


?>
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 juil. 2006, 23:57

Regarde le code source généré au niveau des "<option value=" il manque quelque chose.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 2291 Messages

28 juil. 2006, 09:08

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"; 
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.