Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

Posté(e)

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'

Posté(e)

???

 

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 ;-)

Posté(e)

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

Posté(e)

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 ?

Posté(e)

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();

Posté(e)

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...

Posté(e)
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

Posté(e)

 

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.

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...