Liste deroulante tjrs

Résolu
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007 - 11 mars 2005 à 15:07
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007 - 14 mars 2005 à 17:26
Bonjour,

J'ai encore un problème par rapport à la récupération de données dans une BDD pour alimenter une liste déroulante.
J'ai insérer le code dans ma page, j'ai établie la connexion avec la base, mais il ne m'affiche rien dans mon select et ne m'affiche plus le reste de ma page.
On m'a indiquer ce code :

//Requete
$requete40 = "SELECT * FROM donnees ORDER BY id_donnees";
$resultat40 = mysql_query($requete40,$db)
or die("
$requete40
" .
"Impossible d'executer cette requete
");
while ($result40 = mysql_fetch_array($resultat40))
{
$Departement= $result40["Departement"];
$nom2 = $result40["Departement"];

echo"<option value="$Departement">$nom2</option>\n";
}

J'ai modifier certains champs avec Departement, car c'est le nom du champ ds lequel j'aimerai aller chercher mes données.

Voici ma table:

CREATE TABLE `donnees` (
`id_donnees` int(11) NOT NULL auto_increment,
`departements` varchar(30) NOT NULL default '',
`ville` varchar(30) NOT NULL default '',
PRIMARY KEY (`id_donnees`)
) TYPE=MyISAM AUTO_INCREMENT=27 ;

#
# Contenu de la table `donnees`
#

INSERT INTO `donnees` VALUES (1, '01 - Ain', 'exemple1');
INSERT INTO `donnees` VALUES (2, '02 - Aisne', 'exemple2');

Merci par avance de votre aide.

6 réponses

morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
14 mars 2005 à 11:30
Re : liste deroulante tjrs

Répondre à ce message - [javascript:alert('pas encore implémenté'); Imprimer ce message]

<HR>


Salut,

je vois pas d ou vien ton ereur desolé par contre je peux te forunir un script qui marche a coup sur. (je l utilise regulierement)

<SELECT NAME="n_cat" >";


require("conf.php"); //lit le fichier et stock
[mailto:$db_link=@mysql_connect($sql_serveur,$sql_user,$sql_passwd $db_link=@mysql_connect($sql_serveur,$sql_user,$sql_passwd]); //connection a la base de donnée, die= affiche un message en sql, mysql_error() retourne le message d erreur sql

$TableRep=mysql($sql_bdd,"SELECT * FROM categorie ORDER BY ordre_cat");
$NombreEntrees=mysql_NumRows( $TableRep);
$i=0; /* initialisation de la variable de boucle */
while ($i < $NombreEntrees) /* faire tant que la fin de la table n'est pas atteinte */
{
$achoix = mysql_result($TableRep, $i, "nom_cat");
echo "<OPTION VALUE='$achoix'>$achoix";
$i++; /* On passe à l'enregistrement suivant */
}

mysql_close($db_link);
?>
</SELECT>

Voila en esperant que ca va t aider ce code marche c sur.
tien moi au courant
@+



<HR>


Sans maîtrise la puissance n'est rien et je maîtrise... Apprend ca petit
Sur ce a tchiao bon dimanche.
3
cseagle Messages postés 99 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 5 août 2009
11 mars 2005 à 15:32
Ton code :




//Requete
$requete40 = "SELECT * FROM donnees ORDER BY id_donnees";
$resultat40 = mysql_query($requete40,$db)
or die("
$requete40
" .

"Impossible d'executer cette requete
");
while ($result40 = mysql_fetch_array($resultat40))
{
$Departement= $result40["Departement"];
$nom2 = $result40["Departement"];

echo"<option value="$Departement">$nom2</option>\n";
}




Après correction :




//Requete
$requete40 = "SELECT * FROM donnees ORDER BY id_donnees";

$resultat40 = mysql_query($requete40,$db) or die("
$requete40
"."Impossible d'executer cette
requete
");
while ($result40 = mysql_fetch_array($resultat40))
{
echo"<option value="".
$result40["departements"]
."">".
$result40["departements"]
."</option>\n";
}



Ton erreur se trouve dans le nom du champs pas écrit de la même manière
0
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007
11 mars 2005 à 16:47
Merci, j'avais meme pas vu l'erreur toute bête.
0
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007
11 mars 2005 à 18:09
J'ai toujours le meme probleme, il m'affiche le bebut de la page, et quand vient la liste, hop, plus rien, liste vide et il ne m'affiche plus le reste de la page. J'ai vérifié le nom de mon champ et vu que je travaille sur 2 pc sur un le champ est "Departement" et l'autre sans maj.
Enfin bon,

Département :
<select name="Departement">
<?php
//Connexion BDD
$connect_db = connect();


//Requete
$requete40 = "SELECT * FROM donnees ORDER BY id_donnees";
$resultat40 = mysql_query($requete40,$db) or die("
$requete40
"."Impossible d'executer cette requete
");
while ($result40 = mysql_fetch_array($resultat40))
{
echo"<option value="".$result40["Departements"]."">".$result40["Departements"]."</option>\n";
}


//Fermeture connexion
close();

?>
</select>

existe t'il une autre solution pour afficher des données d'un champ dans une liste déroulante ?

Merci et @+.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007
14 mars 2005 à 17:09
Merci à toi, ça marche tip top.
Sauf qu'il met une erreur si tu mets
<SELECT NAME="n_cat" >";

mais bon pas grave j'ai fais comme ça, et ça marche bien.

<select name="Departement">
<?php
//Connexion BDD
$connect_db = connect();


//Requete
$TableRep=mysql($sql_bdd,"SELECT * FROM donnees ORDER BY id_donnees");
$NombreEntrees=mysql_NumRows( $TableRep);
$i=0; /* initialisation de la variable de boucle */
while ($i < $NombreEntrees) /* faire tant que la fin de la table n'est pas atteinte */
{
$achoix = mysql_result($TableRep, $i, "Departement");
echo "<OPTION VALUE='$achoix'>$achoix";
$i++; /* On passe à l'enregistrement suivant */
}


//Fermeture connexion
close();
?>

Merci et @+.
0
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007
14 mars 2005 à 17:26
Encore une question, j'ai plusieurs liste dérouylantes sur ma page, dc j'ai appliqué ce code pour chaque liste en modifiant le nom du champ, mais un itt prob, vu que j'ai un champ Departement qui comporte tous les départements français, les autre champs comporte bcp moins de données.
Toutes les listes mettent bcp de blanc, je sais c'est normal vu les nb de départements, mais y aurait il une solution autre que de créer une table par catégorie de données ?

Merci par avance.
0
Rejoignez-nous