Liste déroulante et base de données [Résolu]

Messages postés
531
Date d'inscription
mercredi 28 septembre 2005
Dernière intervention
6 mars 2009
- - Dernière réponse : sidf
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Dernière intervention
18 octobre 2012
- 8 févr. 2006 à 09:01
Salut tout le monde!!

J'ai une base de données contenant des références. Je veux donner la possibilité aux users de rechercher via une liste déroulante dans ma bdd. Pour cela, je voudrais afficher dans une liste déroulante toutes les entrées différentes d'une même colonne.
Comment est ce que je peux faire ça????

Merci d'avance!!
Afficher la suite 

Votre réponse

20/23 réponses

Meilleure réponse
Messages postés
2368
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
18 avril 2015
3
Merci
Certainement pas !!!
Tu tournes en rond la :)

$res = odbc_exec( $cnx, "SELECT Agence_filiale from References" );

while ( odbc_fetch_row($res) ) {
$agence = odbc_result($res, 'Agence_filiale');
echo $agence;
}

Et la ca marche :)

Suffit de lire la doc quand c'est comme ca.
http://fr.php.net/manual/fr/function.odbc-result.php
http://fr.php.net/manual/fr/function.odbc-fetch-row.php

Et y'a pas besoin de plus clair !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de FhX
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Dernière intervention
18 octobre 2012
0
Merci
tu fais une requete de tes references et tu alimentes
les balises options d'un select en boucle

$sql="select reference from table_reference order by reference";
$res=mysql_query($sql);

...

echo "<select name='ref'>";

while($row=mysql_fetch_array($res))
{
echo "<option value=' ".$row['reference']." '>";
echo $row['reference'];
echo "</option>";
}
echo "</select>";

un truc dans le genre
Commenter la réponse de sidf
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Dernière intervention
28 janvier 2008
0
Merci
<?

$sql = "SELECT * FROM table";

$result = mysql_query ($sql);

?>



<form action='page.php' method='post'>

<select>

<?while($result2 = mysql_fetch_object ($result))

{


echo("
<option value='num_reference'>$result2->reference</option> ");

}

?>

</select>

</form>
Commenter la réponse de obcstaff
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Dernière intervention
28 janvier 2008
0
Merci
meme pas le temps de taper mon code ke sidf a deja mis le sien looool....

Sa solution est peut etre meilleure....c'est toi qui voit.
Commenter la réponse de obcstaff
Messages postés
531
Date d'inscription
mercredi 28 septembre 2005
Dernière intervention
6 mars 2009
0
Merci
Merci beaucoup pour votre rapidité!!

Par contre voici mon code, ça ne fonctionne pas, ma liste déroulante est vide....??

<?php


$base="D:\\Qualite\test\References.mdb";
$References="References";


//connection au serveur:
$cnx = odbc_connect( "DSN_References","" ,"") or die ("Impossible de se connecter à la base de donnée") ;


$res = odbc_exec( $cnx, "SELECT Agence_filiale from $References order by Agence_filiale" );


echo "<select name='res'>";


while($row=odbc_fetch_row( $res ))
{
echo "<option value=' ".$row['Agence_filiale']." '>";
echo $row['Agence_filiale'];
echo "</option>";
}
echo "</select>";


?>
Commenter la réponse de flopad
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Dernière intervention
18 octobre 2012
0
Merci
while($row=odbc_fetch_row( $res ))

essaie
while($row=odbc_fetch_array( $res ))
Commenter la réponse de sidf
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Dernière intervention
28 janvier 2008
0
Merci
il te faut la mettre dans un orm oci, c normal....



<rmm method="post" action="page.php">

ta requete et tes select....avec un bouton submit a la fin



</form>
Commenter la réponse de obcstaff
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Dernière intervention
18 octobre 2012
0
Merci
yes il manque
<form>
</form>

of course
Commenter la réponse de sidf
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Hello,

garde odbc_fetch_row et utilise $row[0] au lieu de $row['Agence_filiale']. C'est toujours plus rapide, et comme tu as un seul champ à aller chercher, tu ne vas pas t'embrouiller avec les clefs numériques ;-)
Commenter la réponse de malalam
Messages postés
531
Date d'inscription
mercredi 28 septembre 2005
Dernière intervention
6 mars 2009
0
Merci
Ma liste est toujours vide....

CODE :

<form method="post" action="rech.php">

</form>


<?php
$base="D:\\Qualite\test\References.mdb";
$References="References";
//connection au serveur:
$cnx = odbc_connect( "DSN_References","" ,"") or die ("Impossible de se connecter à la base de donnée") ;


$res = odbc_exec( $cnx, "SELECT Agence_filiale from $References order by Agence_filiale" );


echo "<select name='res'>";


while($row=odbc_fetch_row( $res ))
{
echo "<option value=' ".$row[0]." '>";
echo $row[0];
echo "</option>";
}
echo "</select>";
?>
Commenter la réponse de flopad
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Dernière intervention
28 janvier 2008
0
Merci
<form method="post" action="rech.php">


<?php
$base="D:\\Qualite\test\References.mdb";
$References="References";
//connection au serveur:
$cnx = odbc_connect( "DSN_References","" ,"") or die ("Impossible de se connecter à la base de donnée") ;


$res = odbc_exec( $cnx, "SELECT Agence_filiale from $References order by Agence_filiale" );



echo "<select name='res'>";



while($row=odbc_fetch_row( $res ))
{
echo "<option value=' ".$row[0]." '>";
echo $row[0];
echo "</option>";
}
echo "</select>";



?>

</form>



C'est normal faut que tes select soient entre les balises de ton formulaire....
Commenter la réponse de obcstaff
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Au passage, tu es sûr que odbc s'utilise comme ça? J'ai vu bcp de odbc_result () moi (jamais utilisé les fonctions odbc de php).
Commenter la réponse de malalam
Messages postés
531
Date d'inscription
mercredi 28 septembre 2005
Dernière intervention
6 mars 2009
0
Merci
Ca me met une erreur si je laisse le et </form>....?????
Commenter la réponse de flopad
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Dernière intervention
28 janvier 2008
0
Merci
Essaye avec un echo de ton bouton:



echo" " ;



Sinon, tu dois avoir une erreur d'execution de requete pour que ca n'affiche pas ta liste, refere toi au manuel odbc...
Commenter la réponse de obcstaff
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Dernière intervention
18 octobre 2012
0
Merci
moi je ferais un echo de $res ici pour voir ce qu'il ya a dedans

while($row=odbc_fetch_row( $res ))
{
echo $res;
Commenter la réponse de sidf
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Dernière intervention
18 octobre 2012
0
Merci
...
$req = "SELECT nom_client FROM clients";
$res=mysql_query($req);

echo "<select name='res'>";


while($row=mysql_fetch_row($res))
{
echo "<option value=' ".$row[0]." '>";
echo $row[0];
echo "</option>";
}
echo "</select>";
echo "";
echo "</form>";
...

ça marche tres bien pour moi (sans parler de odbc)
Commenter la réponse de sidf
Messages postés
531
Date d'inscription
mercredi 28 septembre 2005
Dernière intervention
6 mars 2009
0
Merci
Même en faisant ça, ma liste est vide...Que faire???

<form method="post" action="rech.php">


<?php
$base="D:\\Qualite\test\References.mdb";
$References="References";
//connection au serveur:
$cnx = odbc_connect( "DSN_References","" ,"") or die ("Impossible de se connecter à la base de donnée") ;


$res = odbc_exec( $cnx, "SELECT * from $References" );


echo "<select name='res'>";


while($row=odbc_fetch_row( $res ))
{
echo "$res";
echo "<option value=' ".$row[0]." '>";
echo $row[0];
echo "</option>";
}
echo "</select>";



?>



</form>
Commenter la réponse de flopad
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
regarde du côté de odbc_result ()...
Commenter la réponse de malalam
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Dernière intervention
18 octobre 2012
0
Merci
dis donc, ta table a le même nom que ta base de données ??

pourquoi pas...
Commenter la réponse de sidf
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Dernière intervention
18 octobre 2012
0
Merci
et pourquoi tu passes la table par une variable dans ta requete ?

indispensable ?
Commenter la réponse de sidf

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.