Actualiser une page par un choix dans une ldr

Fermé
ChouchouLoulou! Messages postés 4 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 12 mai 2010 - 11 mai 2010 à 09:34
thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 - 12 mai 2010 à 17:03
Bonjour à tous. Je viens de m'inscrire sur ce site pour ainsi bénéficier du forum car depuis quelques semaines déjà je suis bloquer.
Voilà, j'ai projet à réaliser mais j'ai un soucis :
J'aimerai pouvoir actualiser une page de mon site grâce à un choix que j'aurai sectionné dans une liste déroulante.
En mieux : J'aimerai que lorsque que je sélectionne un critère dans ma liste déroulante puis que je clique sur un bouton "Actualiser", ma page s'actualise en classant par ordre alphabétique ma liste en fonction de mon critère choisi dans ma liste déroulante.

Voici mon dernier code testé, sachant que j'en ai essayer énormément... :

<!--critère de recherche-->
<form>
<font size="3" color="#6666FF"><b> Trier par :</b></font> <form action="location.html method="GET">
<select name="tri" >
<option selected></option selected>
<option value="Lieu">Lieu</option>
<option value="Prix">Prix</option>
<option value="SurfaceTerrain">Surface Terrain</option>

</select>
<input type="button" OnClick="javascript:window.location.reload()" value="Actualiser">
</form>
<br/><br/>

<?php
// Connexion au serveur.
$db=mysql_connect("serveur","utilisateur","mdp") or die("erreur de connexion au serveur".mysql_error());
// Connexion à la base de donnée (nom de la base de donnée).
mysql_select_db("Foulon") or die ("erreur de connexion à la base Foulon");

//fonction de tri
if ($_GET['tri']='Lieu') {
$reponse = mysql_query ("SELECT * FROM Annonce ORDER BY Lieu ASC");
}
else if ($_GET['tri']='Prix') {
$reponse = mysql_query ("SELECT * FROM Annonce ORDER BY Prix ASC");
}
else if ($_GET['tri']='SurfaceTerrain') {
$reponse = mysql_query ("SELECT * FROM Annonce ORDER BY SurfaceTerrain ASC ");
}
?>

Ensuite j'ai ma liste affichée


Je ne sais pas si j'ai tout mis dans le bon ordre.
Au pire, j'accepterais de ne pas ajouter de bouton et que la page s'actualise lorsque l'on sélectionne un critère dans la liste déroulante directement.


J'espère que quelqu'un pourra m'aider, n'hésitez pas !
Je suis à la limite de désespérée.. ^^

Merci :)
A voir également:

4 réponses

thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 23
12 mai 2010 à 05:19
tes contorle ici ne sont pas adquat car on ne compart pas avec le signe"=" mais avec "==" je rectifie sa pour toi et au faite j'ai bien test le code et ca marche
//fonction de tri
if ($_GET['tri']=='Lieu') {
$reponse = mysql_query ("SELECT * FROM Annonce ORDER BY Lieu ASC");
}

else if ($_GET['tri']=='Prix') {
$reponse = mysql_query ("SELECT * FROM Annonce ORDER BY Prix ASC");
}
else if ($_GET['tri']=='SurfaceTerrain') {
$reponse = mysql_query ("SELECT * FROM Annonce ORDER BY SurfaceTerrain ASC ");
}
?> 
1
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
12 mai 2010 à 08:41
en effet erreur très con xD

Adns
0
ChouchouLoulou! Messages postés 4 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 12 mai 2010
12 mai 2010 à 12:30
Désolé thunder chez moi ca ne marche pas .... :s
On voit que la page s'actualise mais mes critères de tri ne changent pas...
Veux tu que je t'envoie le reste de la page ? (le code en entier)
Si non, c'est pas grave t'embête pas ;)
0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
Modifié par adns le 12/05/2010 à 13:40
Essai de mettre un else après tout tes else if pour voir si il le prend le dernier ;)

Et essaie d'utilisé des double quote " a la place des simple ' les chaine des caractères sont défini par des doubles quotes

et pour etre encore plus sur affiche $_GET['tri'] pour voir son contenu ;)

Adns
0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
11 mai 2010 à 09:56
Bonjour

après un rapide coup d'oeil je dirais qu'il faut que tu remplace

<input type="button" OnClick="javascript:window.location.reload()" value="Actualiser">


par

<input type="submit" value="Actualiser">



et ta page s'appelle location.html mais tu met tu php dedans ? o_O

Adns
0
ChouchouLoulou! Messages postés 4 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 12 mai 2010
11 mai 2010 à 18:49
Pas encore de solution qui marche ... J'ai appeler mon ficher html parce que c'est son nom mais à vrai dire je ne sais pas exactement à quoi sert le "action" ...
Peux-tu m'éclairer ?
Merci en tout cas de ta réponse :)
0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
12 mai 2010 à 08:41
Action : c'est url de la page vers laquelle les informations de ton formulaire vont être envoyées
Donc pour toi, comme ton formulaire et ton affichage sont sur la même page soit tu donne le nom de ta page soit tu ne met rien comme la fais thunder413
0
thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 23
11 mai 2010 à 10:01
bonjour
je ne vois pas la commodité d'utiliser le bouton actualiser sachant qu'un submit d'un formulaire le fait deja donc je reecrit ton code avec la solution que je te propose esperant que ca resout ton probleme
<!--critère de recherche-->

<font size="3" color="#6666FF"><b> Trier par :</b></font> 
<form action="" method="GET" name="short">
<select name="tri" onChange="javascript:document.short.submit()">
<option value="">----</option>
<option value="Lieu">Lieu</option>
<option value="Prix">Prix</option>
<option value="SurfaceTerrain">Surface Terrain</option>
</select>
</form>
<br/><br/>

<?php


// Connexion au serveur.
$db=mysql_connect("serveur","utilisateur","mdp") or die("erreur de connexion au serveur".mysql_error());
// Connexion à la base de donnée (nom de la base de donnée).
mysql_select_db("Foulon") or die ("erreur de connexion à la base Foulon");

//fonction de tri
if ($_GET['tri']='Lieu') {
$reponse = mysql_query ("SELECT * FROM Annonce ORDER BY Lieu ASC");
}
else if ($_GET['tri']='Prix') {
$reponse = mysql_query ("SELECT * FROM Annonce ORDER BY Prix ASC");
}
else if ($_GET['tri']='SurfaceTerrain') {
$reponse = mysql_query ("SELECT * FROM Annonce ORDER BY SurfaceTerrain ASC ");
}
?> 
0
ChouchouLoulou! Messages postés 4 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 12 mai 2010
11 mai 2010 à 18:48
J'ai remplacé ton code par le tien thunder413, seulement je l'ai testé et la page ne s'actualise pas en classant ma liste d'info par Lieu, Prix ou surface de terrain ... =(

As-tu des idées à me proposer ?
Sinon, merci quand même, sympa d'avoir pris le temps de me repondre :)
0
thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 23
12 mai 2010 à 17:03
desole de ne pas avoir repondu tres tot biensur tu peut m'envoyer ton code si tu veux
0