Php : pb de requête avec liste déroulante
je suis en galère
-
je suis en galère -
je suis en galère -
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.
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:
- Php : pb de requête avec liste déroulante
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
7 réponses
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>
<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>
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
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
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.
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.
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>
<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>
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.
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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>
<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>
En fait,ton code n'a pas marché (tu peux essayer ton code pour le constater).Aiiie
<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>