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

flopad 531 Messages postés mercredi 28 septembre 2005Date d'inscription 6 mars 2009 Dernière intervention - 7 févr. 2006 à 11:41 - Dernière réponse : sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention
- 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 

23 réponses

Répondre au sujet
FhX 2368 Messages postés mercredi 13 octobre 2004Date d'inscription 18 avril 2015 Dernière intervention - 7 févr. 2006 à 23:29
+3
Utile
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 !
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de FhX
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 7 févr. 2006 à 11:49
0
Utile
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
obcstaff 147 Messages postés mardi 15 novembre 2005Date d'inscription 28 janvier 2008 Dernière intervention - 7 févr. 2006 à 11:52
0
Utile
<?

$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
obcstaff 147 Messages postés mardi 15 novembre 2005Date d'inscription 28 janvier 2008 Dernière intervention - 7 févr. 2006 à 11:53
0
Utile
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
flopad 531 Messages postés mercredi 28 septembre 2005Date d'inscription 6 mars 2009 Dernière intervention - 7 févr. 2006 à 12:02
0
Utile
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
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 7 févr. 2006 à 12:07
0
Utile
while($row=odbc_fetch_row( $res ))

essaie
while($row=odbc_fetch_array( $res ))
Commenter la réponse de sidf
obcstaff 147 Messages postés mardi 15 novembre 2005Date d'inscription 28 janvier 2008 Dernière intervention - 7 févr. 2006 à 12:08
0
Utile
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
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 7 févr. 2006 à 12:09
0
Utile
yes il manque
<form>
</form>

of course
Commenter la réponse de sidf
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 7 févr. 2006 à 13:35
0
Utile
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
flopad 531 Messages postés mercredi 28 septembre 2005Date d'inscription 6 mars 2009 Dernière intervention - 7 févr. 2006 à 14:16
0
Utile
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
obcstaff 147 Messages postés mardi 15 novembre 2005Date d'inscription 28 janvier 2008 Dernière intervention - 7 févr. 2006 à 14:24
0
Utile
<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
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 7 févr. 2006 à 14:30
0
Utile
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
flopad 531 Messages postés mercredi 28 septembre 2005Date d'inscription 6 mars 2009 Dernière intervention - 7 févr. 2006 à 15:37
0
Utile
Ca me met une erreur si je laisse le et </form>....?????
Commenter la réponse de flopad
obcstaff 147 Messages postés mardi 15 novembre 2005Date d'inscription 28 janvier 2008 Dernière intervention - 7 févr. 2006 à 16:04
0
Utile
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
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 7 févr. 2006 à 16:17
0
Utile
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
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 7 févr. 2006 à 16:32
0
Utile
...
$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
flopad 531 Messages postés mercredi 28 septembre 2005Date d'inscription 6 mars 2009 Dernière intervention - 7 févr. 2006 à 17:48
0
Utile
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
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 7 févr. 2006 à 18:07
0
Utile
regarde du côté de odbc_result ()...
Commenter la réponse de malalam
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 7 févr. 2006 à 19:39
0
Utile
dis donc, ta table a le même nom que ta base de données ??

pourquoi pas...
Commenter la réponse de sidf
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 7 févr. 2006 à 19:41
0
Utile
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.

Liste déroulante et base de données - page 2