Liste déroulante et création de requete [Résolu]

Signaler
Messages postés
118
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
6 octobre 2005
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonjour,

j'ai créer un formulaire dans lequel j'ai inséré une liste déroulante.
Mon but est que lorsque l'utilisateur choisi une option de cette liste
je construise une requete que je vais utiliser pour ma base. Donc si on
choisi l'option "par note" dans la liste, la requete va se construire
comme ça : "select * from $table order by note", ce n'est qu'un
exemple. Merci pour tout ceux qui me répondront.

13 réponses

Messages postés
118
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
6 octobre 2005

OK c'est bon c'était une erreur plus haut dans mon code, mais elle n'intervenait que mtnt, merci encore.
Messages postés
118
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
6 octobre 2005

J'ai oublié de préciser mais il faut que tout soit dans un même fichier.Merci
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Hello,



deja, ca va ps faire SELECT *... parce que c'est mal... ;-) Pas de * : nomme tes champs.

Ensuite, mettons que ta liste s'appelle maliste.

Tu la fais a peu pres de cette maniere :

<select name="maliste">

<option value="note">note</option>

<option value="nom">nom</option>

...

</select>

Apres soumission du formulaire, et tests varies :



$requete = mysql_query ('SELECT note, bla, truc, machin FROM '.$table.' ORDER BY '.$_POST['maliste']);
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Dans un meme fichier... ? De quoi tu parles?
Messages postés
118
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
6 octobre 2005

je disai tout dans le même fichier cad dans le meme fichier.php

Merci de m'avoir répondu mais il m'indique qu'il ne connait pas le nom de ma liste. Voici mon code :



echo "";

echo "Type du classement : ";

echo ", ";

echo "<FORM>";

echo "<SELECT name='nomListe' size='1'>";

echo "<OPTION value=note>par note";

echo "<OPTION value=vote>par vote";

echo "<OPTION value=bb_clics>par nombre de clics";

echo "</SELECT>";

echo "</FORM>";

echo "
";





$select_all="SELECT * FROM $table ORDER BY".$_POST['nomListe'];



et il me met :

Notice: Undefined index: nomListe in c:\documents and settings\igor\mes documents\travail\top_list\mes_scripts\your_webring\liste.php on line 73


Erreur de syntaxe prшs de '' р la ligne 1



Donc je ne comprends pas pourquoi...
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Ben evidemment, tu ne soumets pas ton formulaire. Un formulaire s'accompagne d'un bouton de type submit.
Messages postés
118
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
6 octobre 2005

J'ai rajouté un bouton dans mon formulaire de type submit, mais après je ne vois pas comment faire...Désolé !
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Un petit tour sur un tuto serait pas mal...
Bon...je raccourcis parce que il y a beaucoup de corrections a faire :

<?php
echo '<form method ="post" action ="',$_SERVER['PHP_SELF'],'">';
echo '<select name="nomListe">';
echo '<option value="note">par note</option>';
echo '<option value="vote">par vote</option>';
echo '</select>';
echo '';
echo '</form>';

if (isset ($_POST['submit']) && $_POST['submit']) === 'trier') {
if (isset ($_POST['nomListe'])) {
$select_all=mysql_query ('SELECT note, vote FROM '.$table.' ORDER BY '.$_POST['nomListe'].'');
}
}
?>
Messages postés
118
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
6 octobre 2005

Désolé mais ton code ne marche pas chez moi. Merci quand même si tu as une autre solution n'hésite pas, meme quelqu'un d'autre.
Messages postés
118
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
6 octobre 2005

Bien sur j'ai corrigé quelques petites erreurs, mais sans succès...
Messages postés
118
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
6 octobre 2005

J'ai rajouté ça :



if (isset ($_POST['maliste'])) {

echo "coucou";

}else{

echo "mince";

}



et bien sur il m 'affiche "mince", autrement dit il ne reconnait pas mon formulaire, et je ne vois pas pourquoi...
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Eh ben mis a part cette lugne :
if (isset ($_POST['submit']) && $_POST['submit'] === 'trier') {

(j'avais mis une parenthese en trop), cela fonctionne tres bien chez moi.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Je t'en prie :-)