Actualiser une page par un choix dans une ldr

ChouchouLoulou! Messages postés 4 Statut Membre -  
thunder413 Messages postés 169 Statut Membre -
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 :)

4 réponses

thunder413 Messages postés 169 Statut Membre 23
 
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 1152 Statut Membre 153
 
en effet erreur très con xD

Adns
0
ChouchouLoulou! Messages postés 4 Statut Membre
 
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 1152 Statut Membre 153
 
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 1152 Statut Membre 153
 
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 Statut Membre
 
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 1152 Statut Membre 153
 
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 169 Statut Membre 23
 
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 Statut Membre
 
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 169 Statut Membre 23
 
desole de ne pas avoir repondu tres tot biensur tu peut m'envoyer ton code si tu veux
0