Php : pb de requête avec liste déroulante

Fermé
je suis en galère - 18 avril 2008 à 12:10
 je suis en galère - 18 avril 2008 à 21:43
Bonjour, je suis en galère depuis des heures sans rien trouver.
Voilà ce que je n'arrive pas à faire c'est d'exécuter une requête en fonction d'un choix sur une liste déroulante sans avoir recours au bouton submit (c'est ce qu'on voit dans les sites web commerciaux: si vous sélectionnez le choix 'Trier par ordre de prix croissant des articles' sur une liste déroulante, et bein le résultat est que la liste des articles va être trié par ordre croissant de prix).

Voici mon code, appelé 1.php, qui me pose problème (vous pouvez faire copier-coller pour le tester et constater le problème), ici pour accélérer la résolution du problème j'ai remplacé les requêtes de tri par echo"Requête..."; :

<html>
<body>
<?php
@$trier=$_GET[trier];

echo"

<form method='get'>

<select name='trier'>
<option>Par ordre de prix croissant</option>
<option>Par ordre de prix décroissant</option>
</select>

</form>";

if($_GET[trier]==0)
{echo"Requete affichant les articles par ordre de prix croissant";}

elseif($_GET[trier]==1)
{echo"Requete affichant les articles par ordre de prix décroissant";}

?>
</body>
</html>

Donc, svp, aidez-moi, car j'en ai marre de chercher sans rien trouver,j'en peux plus.
Merci da'avance à tous.
A voir également:

7 réponses

foufita Messages postés 68 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 10 mars 2014 8
18 avril 2008 à 12:33
il me semble que vous etre encore debutant dans ce domaine.

<html>
<body>
<?php
@$trier=$_GET[trier];

echo"

<form method='get' action='test3.php'>

<select name='trier'>
<option value='0' onclick='this.form.submit();'>Par ordre de prix croissant</option>
<option value='1' onclick='this.form.submit();'>Par ordre de prix décroissant</option>
</select>

</form>";
echo $_GET['trier'].'<br>';
if($_GET['trier']==0)
{echo"Requete affichant les articles par ordre de prix croissant";}

elseif($_GET['trier']==1)
{echo"Requete affichant les articles par ordre de prix décroissant";}

?>
</body>
</html>
0
je suis en galère
18 avril 2008 à 12:44
merci, à toi je vais essayé ça toute suite
0
je suis en galère
18 avril 2008 à 12:49
Bonjour foutita , merci pour ton aide.
En fait,ton code n'a pas marché (tu peux essayer ton code pour le constater).Aiiie
0
foufita Messages postés 68 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 10 mars 2014 8 > je suis en galère
18 avril 2008 à 12:55
ca marche chez moi
0
foufita Messages postés 68 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 10 mars 2014 8 > foufita Messages postés 68 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 10 mars 2014
18 avril 2008 à 12:58
je supose que tu n'a pas modifier le nom de la page "test3.php" -->"1.php"
<html>
<body>
<?php
@$trier=$_GET['trier'];

echo"

<form method='get' action='1.php'>

<select name='trier'>
<option value='0' onclick='this.form.submit();'>Par ordre de prix croissant</option>
<option value='1' onclick='this.form.submit();'>Par ordre de prix décroissant</option>
</select>

</form>";
echo $_GET['trier'].'<br>';
if($_GET['trier']==0)
{echo"Requete affichant les articles par ordre de prix croissant";}

elseif($_GET['trier']==1)
{echo"Requete affichant les articles par ordre de prix décroissant";}

?>
</body>
</html>
0
je suis en galère > foufita Messages postés 68 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 10 mars 2014
18 avril 2008 à 13:12
Désolé, j'avais bien changé le nom de fichier mais ça ne marche pas, est-ce tu es sur que le message "Requete affichant les articles par ordre de prix décroissant" s'affiche bien lorsque tu sélestionne le 2ème choix?
0
foufita Messages postés 68 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 10 mars 2014 8
18 avril 2008 à 14:52
assalemou alaykom , le code marche trés bien chez moi

lorasque je choisi l'option ordre croissant ca m'affiche :

Requete affichant les articles par ordre de prix croissant

lorasque je choisi l'option ordre décroissant ca m'affiche :


Requete affichant les articles par ordre de prix décroissant

je suis sur

essaye toi encore
0
je suis en galère
18 avril 2008 à 15:41
shookran,
je te promet que ça ne marche pas, je ne comprend pas, fait copier coller avec ton code et tu va voir que ça ne marche pas.

Sinon,si ça marche chez toi est-ce que tu peux faire copier-coller de ton code qui marche sur cette discussion,
comme ça je vais voir ce qui se passe, car je pette un cable.
0
foufita Messages postés 68 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 10 mars 2014 8
18 avril 2008 à 16:08
c'est le code que de ma page (c'est du copier coller) :

<html>
<body>
<?php
@$trier=$_GET['trier'];

echo"

<form method='get' action='test3.php'>

<select name='trier'>
<option value='0' onclick='this.form.submit();'>Par ordre de prix croissant</option>
<option value='1' onclick='this.form.submit();'>Par ordre de prix décroissant</option>
</select>

</form>";
echo $_GET['trier'].'<br>';
if($_GET['trier']==0)
{echo"Requete affichant les articles par ordre de prix croissant";}

elseif($_GET['trier']==1)
{echo"Requete affichant les articles par ordre de prix décroissant";}

?>
</body>
</html>
0
je suis en galère
18 avril 2008 à 16:23
je te promet que ça ne marche pas,méme avec ton code, je ne sais pas pourquoi.En plus le pire, c'est que lorsque je sélectionne une option,et bein sur la barre d'adresse, il n' y a rien de marqué juste après 1.php, car normalement en méthode get, il doit y avoir une valeur après 1.php, du style 1.php?trier=1, je pense que c'est à cause de ça que ça ne doit pas marché.Donc maintenant je ne sais plus comment faire pour résoudre ce problème.
0
modifier le get par post
essaye ce code :

<html>
<body>
<?php
@$trier=$_POST['trier'];

echo"

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

<select name='trier'>
<option value='0' onclick='this.form.submit();'>Par ordre de prix croissant</option>
<option value='1' onclick='this.form.submit();'>Par ordre de prix décroissant</option>
</select>

</form>";
echo $_POST['trier'].'<br>';
if($_POST['trier']==0)
{echo"Requete affichant les articles par ordre de prix croissant";}

elseif($_POST==1)
{echo"Requete affichant les articles par ordre de prix décroissant";}

?>

</body>
</html>

je crois que ca va marcher
bonne chance
0

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

Posez votre question
foufita Messages postés 68 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 10 mars 2014 8
18 avril 2008 à 16:35
essaye ce code

<html>
<body>
<?php
@$trier=$_POST['trier'];

echo"

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

<select name='trier'>
<option value='0' onclick='this.form.submit();'>Par ordre de prix croissant</option>
<option value='1' onclick='this.form.submit();'>Par ordre de prix décroissant</option>
</select>

</form>";
echo $_POST['trier'].'<br>';
if($_POST['trier']==0)
{echo"Requete affichant les articles par ordre de prix croissant";}

elseif($_POST['trier']==1)
{echo"Requete affichant les articles par ordre de prix décroissant";}

?>

</body>
</html>
0
je suis en galère
18 avril 2008 à 16:41
Désolé méme en post ça ne marche pas.En plus lorsque je sélectionne une option,et bein la page ne se charge pas (la petite barre verte segmentée sur la barre de statut n'apparait pas).
0
foufita Messages postés 68 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 10 mars 2014 8
18 avril 2008 à 16:46
desoler ,chez moi ca marche dans les deux cas (get et post)
j'ai pas compris c'est quoi le probleme chez vous
encore desole
0
je suis en galère
18 avril 2008 à 21:43
à l'aide, est ce qu'il ya qqn pour m'aider car mon problème n'est pas encore résolu
0