|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : octobre 2009 Messages : 11 ![]() |
Bonjour,
Malgré pas mal d'heure de recherche sur les forums je n'ai pas trouvé la solution complète à mon problème. Mon objectif : trier dans une table les enregistrements vérifiant 2 critères sélectionnés dans des menus déroulants (les éléments de chaque menu déroulant proviennent d'une table différente).Jusqu'ici je vois ce qu'il faut faire. Si aucun des 2 critères n'est sélectionné c'est à dire si les menus déroulants restent sur "tout" la requête renvoie l'ensemble des enregistrements.Si un seul des 2 critères est activé la requête ne tient compte que de ce seul critère. (Je me limite pour l'instant à 2 critères mais j'aimerai en mettre d'avantage.) Tables utilisées: affaires contenant:id, intitule,nature_tache,id_agent1,id_domaine agents contenant:id, nom,prenom domaines contenant:id,domaine Pages php: rech_multi_aff.php : formulaire de paramétrage de la requête. Méthode GET, 2 variables URL utilisées : $_GET['choix_pren'] et $_GET['choix_dom'] affic_rech_multi_aff.php : page d'affichage des résultats de la requête Formulaire de sélection : Code :
Code :
Quelle que soit la sélection des critère1 et critère 2 la requête renvoie systématiquement l'ensemble des enregistrements. Pourtant le formulaire renvoie bien les 2 variables $_GET. Je n'arrive pas à faire afficher le choix "tout" systématiquement au démarrage du formulaire Merci d'avance pour votre aide. |
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Bonjour,
voici une façon de s'y prendre : Code :
- " AND " ("tous les critères") -> par " OR " ("au moins 1 critère") - ... LIKE '%".$criterex."%' "; ("comme ...) -> par ... = '".$criterex."' "; (égal à) ps2 : ici, j'ai choisi <form method="post" ...>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||
|
|
10
|
|
|
#3 | ||||||||
|
Invité de passage
![]() Inscription : octobre 2009 Messages : 11 ![]() |
Bonjour Jérôme,
et merci de t'intéresser à mon problème. En suivant tes conseils j'ai modifié le formulaire de cette façon : Code :
Code :
Sur la page d'affichage j'ai modifié le code de cette façon Code :
Code :
Un grand merci d'ores et déjà pour ton aide. |
||||||||
|
|
00
|
|
|
#4 | ||||
![]() ![]() |
do ... while ne marche pas ici. Il faut utiliser while ...
Code :
Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||||
|
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() Inscription : octobre 2009 Messages : 11 ![]() |
Bonjour Jérôme,
J'ai modifié le code en suivant tes indications pour l'affichage des résultats de la requête désormais le tableau des résultats s'affiche correctement. Mais les filtres n'agissent pas. Quels que soient les choix dans le formulaire l'ensemble des enregistrements de la table affaires s'affichent. J'ai rajouté ceci Code :
Code :
|
||||
|
|
00
|
|
|
#6 | ||||
![]() ![]() |
Un copier-coller ne doit pas se faire les yeux fermés, mais en COMPRENANT.
Dans ton formulaire, tu as ca : Code :
Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||||
|
|
00
|
|
|
#7 | ||||
|
Invité de passage
![]() Inscription : octobre 2009 Messages : 11 ![]() |
Mea culpa maxima , tu as raison. Je n'ai pas fait assez attention.
Désormais les valeurs de select et select2 servent bien à filtrer la base. ça marche. Peux-tu STP me traduire en français le bout de code suivant (c'est du PHP ou du sql ?): Code :
Par défaut les critères de recherche du formulaire sont calés sur "tout" ce qui correspond aux valeurs select=0 etselect2=0 qui ne correspondent à aucune clé primaire des tables agents et domaines. Ne reste-t-il pas un bout de code à écrire pour répondre aux situations suivantes : Code :
En tout cas un grand merci pour ton aide et ta patience. |
||||
|
|
00
|
|
|
#8 | ||||||
![]() ![]() |
Bonjour,
rawsrc a donné ici une astuce pour le "WHERE ... AND ..." fort astucieuse. Voici la modification : Code :
Code :
Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||||||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : octobre 2009 Messages : 11 ![]() |
Bonjour Jérôme,
ça marche Nickel !: ![]() ![]() Un ENORME merci pour ta précieuse aide et ta réactivité. Olivier. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com