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

Signaler
Messages postés
531
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
6 mars 2009
-
sidf
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
-
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!!
A voir également:

23 réponses

Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
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 !
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
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
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008

<?

$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>
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008

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.
Messages postés
531
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
6 mars 2009

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


?>
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
while($row=odbc_fetch_row( $res ))

essaie
while($row=odbc_fetch_array( $res ))
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008

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>
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
yes il manque
<form>
</form>

of course
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
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 ;-)
Messages postés
531
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
6 mars 2009

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>";
?>
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008

<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....
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
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).
Messages postés
531
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
6 mars 2009

Ca me met une erreur si je laisse le et </form>....?????
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008

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...
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
moi je ferais un echo de $res ici pour voir ce qu'il ya a dedans

while($row=odbc_fetch_row( $res ))
{
echo $res;
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
...
$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)
Messages postés
531
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
6 mars 2009

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>
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
regarde du côté de odbc_result ()...
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
dis donc, ta table a le même nom que ta base de données ??

pourquoi pas...
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
et pourquoi tu passes la table par une variable dans ta requete ?

indispensable ?
1 2