TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
Le problème de ce sujet a été résolu
| Page : 1 | |||||
| Auteur | Message | ||||
|---|---|---|---|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |||||
| Page : 1 | |||||
GG59
|
# Posté le 01/07/2008 à 16:03:49 | ||||
|
Groupe : Membres |
Bonjour à tous,
Je suis en train de réaliser une BDD en ligne, tout fonctionne correctement mise à part un petit détail: Je souhaiterais pouvoir trier les résultats affichés par la recherche par ordre alphabétique par exemple. Seulement quand je clique sur mes petites flèches (voir photo) je ne trie pas les résultats affiché mais je re-tri toute la BDD!!! ![]() En gros ce que je veux, pour être un peu plus claire je prends un exemple: Lorsque le visiteur fait une recherche dans ma BDD et qu'il trouve deux résultats, les résultats sont affichés. Maintenant l'utilisateur veut les avoir dans l'ordre Ante-alphabétique, il clique sur la flèche et les 2 résultats (en non pas toute la BDD) s'affiche dans le bon ordre. Je ne vois pas comment faire pour que mon tri s'exécute uniquement sur les résultats que le visiteur a à l'écran ? Si vous avez des pistes Merci.
Édité
le 01/07/2008 à 16:05:58
par GG59
|
||||
Squall124
|
# Posté le 01/07/2008 à 16:06:55 | ||||
seul au monde![]() Groupe : Membres |
Salut,
Si tu peux, donne les quelques extraits de code concernés, sinon envoie moi un mp et je verrais si je peux t'aider. co webmaster de Japan-mod.fr 14 à l'écrit, 12 à l'oral et 19 au TPE, facile le bac S en premiere |
||||
Onime no Kyo
|
# Posté le 01/07/2008 à 16:14:29 | ||||
UCBL Student !![]() Groupe : Membres |
Salut,
Faut voir si on peut faire un tri en JavaScript, sinon en Ajax c'est faisable, tu relances la même requête sauf que tu re-tris derrière ![]() Ex : on va dire que tu affiches 5 resultats ta requete est donc de la forme Code : SQL
alors tu fais un truc du genre Code : SQL
Enfin apres je sais pas si c'est super optimisé, et j'ai pas testé donc ca se trouve ca marche pas XD ![]() C'est ca etre hyperactif ? |
||||
GG59
|
# Posté le 01/07/2008 à 16:24:07 | ||||
|
Groupe : Membres |
Ouai ce qu'il y a c'est que j'ai pas mal de code, je vais essayer de sélectionner ce qui est utile:
Je n'utilise pas Javascript pour le site et pour moi Ajax est un produit d'entretien lol donc va falloir que je me renseigne un peu Sinon je met mon code au cas ou vous trouveriez une solution miracle: Code : SQL
Explication: Enfaite, ci-dessus je trie les résultat de ma BDD en fonction des variables $_GET que j'obtiens lorsque l'utilisateur clique sur un petits triangles: Code : PHP
Quand on peut le voir d'après les "href" si l'utilisateur clique sur un petit triangle alors je le dirige vers "search.php?surname_orderby=asc" a partir de cette variable, je sais comment je dois trier mes résultats. Le problème de se code est qu'a chaque fois je trie et réaffiche toute la BDD et non pas uniquement la partie qui intéresse l'utilisateur!
Édité
le 01/07/2008 à 16:25:01
par GG59
|
||||
Onime no Kyo
|
# Posté le 01/07/2008 à 16:30:52 | ||||
UCBL Student !![]() Groupe : Membres |
Citation : GG59
Le problème de se code est qu'a chaque fois je trie et réaffiche toute la BDD et non pas uniquement la partie qui intéresse l'utilisateur! Tout a fait normal, regarde dans le truc que j'ai mis il y a un double select, un pour sélectionner les données et le second pour les trier.Dans ton code l'order by que tu mets s'applique a tout les résultats, d'où la nécessité de sélectionner dans un premier temps les données et de faire le tri après.
Édité
le 01/07/2008 à 16:32:58
par Onime no Kyo
![]() C'est ca etre hyperactif ? |
||||
GG59
|
# Posté le 02/07/2008 à 10:05:41 | ||||
|
Groupe : Membres |
Ca ne marche pas, je n'avais pas pensais à faire un double SELECT et sur le papier ca à l'air pas mal mais lorsque je le fais j'obtiens une erreur (Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ...). Je ne vois plus trop comment je peux me débrouiller.
Etant donné que j'enregistre mon premier résultat dans $search= SELECT * FROM '...'; Est-ce qu'il n'est pas possible après cette ligne de faire un truc du genre: $search = SELECT * FROM $search ORDER BY surname ASC; ???
Édité
le 02/07/2008 à 11:13:13
par GG59
|
||||
GG59
|
# Posté le 07/07/2008 à 18:02:18 | ||||
|
Groupe : Membres |
Bon voila la solution trouvée pour les prochains qui auront le même PB:
Faire un double SELECT (=SELECT imbriqués = SELECT en cascade) n'est pas possible avec MySQL. La solution pour ne pas me retrouver avec toutes les entrées de ma BDD retriées est d'utiliser non pas la methode POST dans mon formulaire de recherche mais la méthode GET (celle qui n'est pas décrit dans le tuto de M@teo21 c'est pourquoi je n'y avais pas pensé) Ainsi tout les critères de recherches se retrouvent dans mon URL donc pour faire une recherche par nom decroissant par exemple je fais: Dans le formulaire: Code : PHP
Dans la page ou je fais les recherches sur ma BDD: Code : SQL
en sachant que j'obtiens $ordre, $nom, $prenom par grâce à mon URL!
Édité
le 07/07/2008 à 18:04:09
par GG59
|
||||
Retour au forum "PHP" ou à la liste des forums
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
64 Zéros connectés |
7 requêtes |
0.0355s (0.0172s)
