Aller au contenu
Neuromancer

Envoyer 3 variables avec un seul formulaire

Messages recommandés

Je suis en train de faire un système de galerie d'image dynamique.

 

Mon problème est que je n'arrive pas à faire un formulaire qui envoie plusieurs variables.

Ce formulaire doit envoyer la variable $name pour le nom du sujet de la photo, la variable $sort pour le critère d'affichage des images (date ou taille) et la variable $way pour savoir si c'est trié en ascendant ou en descendant.

 

Je vous met ce que j'ai fait et qui ne marche pas :P

 

Celebrity Name

<form action="affich.php" method="post">

<select name="celeb">

<option value="Nicole Kidman"> Nicole Kidman</option>

<option value="Rachel Weisz"> Rachel Weisz</option>

<option value="Salma Hayek"> Salma Hayek</option>

<option value="Sarah Jessica Parker"> Sarah Jessica Parker</option>

<option value="Shiri Appleby"> Shiri Appleby</option>

<option value="Uma Thurman"> Uma Thurman</option>

<option value="Virginie Ledoyen"> Virginie Ledoyen</option>

<option value="Winona Ryder"> Winona Ryder</option>

</select><br>

</form>Sorted By :

<form action="affich.php" method="post">

<select name="sort">

<option value="date"> Date</option>

<option value="size"> Size (Ko)</option>

<option value="width"> Size (pixels)</option>

</select>

</form>

<form action="affich.php" method="post">

<select name="way">

<option value="ASC"> Ascending</option>

<option value="DESC"> Descending</option>

</select>

<input type="submit" value="Go !">



</form><br>

 

 

 

et je vous met la requete à la base MySQL :


SELECT * FROM galerie WHERE celeb='$celeb' ORDER BY '$sort' '$way'

Partager ce message


Lien à poster
Partager sur d’autres sites

???

 

Pkoi tu fais un form différent pour chacune de tes variables ?

Le bouton submit se trouve dans ton troisième form, ce qui fait qu'il ne postera jamais autre chose que le contenu des champs de ce form-ci, et jamais les autres...

 

Fais un seul form ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour le form, comme l'a souligne KewlCat

 

Celebrity Name 

<form action="affich.php" method="post"> 

<select name="celeb"> 

<option value="Nicole Kidman"> Nicole Kidman</option> 

<option value="Rachel Weisz"> Rachel Weisz</option> 

<option value="Salma Hayek"> Salma Hayek</option> 

<option value="Sarah Jessica Parker"> Sarah Jessica Parker</option> 

<option value="Shiri Appleby"> Shiri Appleby</option> 

<option value="Uma Thurman"> Uma Thurman</option> 

<option value="Virginie Ledoyen"> Virginie Ledoyen</option> 

<option value="Winona Ryder"> Winona Ryder</option> 

</select><br> 

Sorted By : 

<select name="sort"> 

<option value="date"> Date</option> 

<option value="size"> Size (Ko)</option> 

<option value="width"> Size (pixels)</option> 

</select> 

<select name="way"> 

<option value="ASC"> Ascending</option> 

<option value="DESC"> Descending</option> 

</select> 

<input type="submit" value="Go !"> 

</form><br> 

 

Pour la requette (erreur en rouge)

 

 


SELECT * FROM galerie WHERE celeb='$celeb' ORDER BY [color=red]'$sort' '$way' [/color]



Tu ne peux pas mettre des variables dans le "order", tu dois mettre le nom de tes champs dans la table : "galerie"



Par exemple



[CODE]

SELECT * FROM galerie WHERE celeb='$celeb' ORDER BY sort,way

Celà marche si "sort" et "way" sont des champs de ta base ..

 

:P

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok pour le formulaire mais ma requête ne va pas. J'ai besoin des variables sort et way puisque je veux donner au visteur le choix dans la facon de trier les résultats. Donc il doit bien y avoir un moyen de faire rentrer la chaine de caracteres dans la requete non ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah oui j'ai oublié de dire que ma requete n'est pas mise comme ça.

En fait je l'entre d'abord comme une variable puis j'utilise la variable :

$requete = "SELECT * FROM galerie WHERE celeb='$name' ORDER BY '$sort' '$way';

$result = mysql_query ($requete,$connec) or testconnec_die();

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est bon j'ai trouvé ça marche, ça fait plaisir pour mes premiers pas en php :P

 

Je donne le code de ma requete au cas où d'autres auraient le même probleme :


$requete = "SELECT * FROM galerie WHERE celeb='$name' ORDER BY ".$sort." ".$way;

 

En fait c'était un problème de concaténation...

Partager ce message


Lien à poster
Partager sur d’autres sites
C'est bon j'ai trouvé ça marche, ça fait plaisir pour mes premiers pas en php :P

 

Je donne le code de ma requete au cas où d'autres auraient le même probleme :  


$requete = "SELECT * FROM galerie WHERE celeb='$name' ORDER BY ".$sort." ".$way;

 

En fait c'était un problème de concaténation...

 

Heuu non, en fait c'etait un probleme de cotes :-(

 


$requete = "SELECT * FROM galerie WHERE celeb='$name' ORDER BY $sort $way";

 

Ca ca doit marcher aussi

 

Automne

Partager ce message


Lien à poster
Partager sur d’autres sites

 

Heuu non, en fait c'etait un probleme de cotes :P  

 


$requete = "SELECT * FROM galerie WHERE celeb='$name' ORDER BY $sort $way";

 

Ca ca doit marcher aussi

 

Automne

 

Non c'était bien un problème de contaténation et non ta proposition ne marche pas.

Partager ce message


Lien à poster
Partager sur d’autres sites

Non c'était bien un problème de contaténation et non ta proposition ne marche pas.

 

Humm po normal que ca ne fonctionne pas ca ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×