Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
Je sais je commence a saoulé avec ma recherche complexe mais, je vous rassure, ca commence a me saoulé aussi...
donc, j'ai un soucis, la gestions des possibilité de recherche deviens apocalyptique...j'en viens a me demander si générer toutes les requêtes possible et faire un switch ne reviendrais pas a plus simple...
le formulaire a 3 critères (critere1, 2 et 3)
pour chaque critères, il y a un opérateur(opérateur 1, 2 et 3) (égal ou différent) et une liste de valeur possible (valeur1, 2 et 3)
entre chaque critères, il y a 1 condition (donc condition1 et 2)
jusqu'ici rien de bien compliqué, sauf que :
la requête devient complexe lorsque par exemple, mon utilisateur met
critere1 = "tutu" operateur1 = "egal" valeur1 = 3
ET
critere2 = "tutu" operateur2 = "egal" valeur2 = 6
ET
critere3 = "tutu" operateur3 = "egal" valeur3 = 5
je me retrouve avec des complexité pire: par exemple le cas precedent ne devant pas passer "fonctionnellement" il doit pouvoir l'être lorsque :
critere1 = "tutu" operateur1 = "different" valeur1 = 3
ET
critere2 = "tutu" operateur2 = "different" valeur2 = 6
ET
critere3 = "tutu" operateur3 = "different" valeur3 = 5
par exemple...je commence a crouler sous les tests javascript et la structuration de mes conditions SQL...
auriez vous une idée, une piste, un miracle ou autre, pour pouvoir gérer simplement cette recherche multi-critères ?
d'avance merci !
Dernière modification par Bibi (17-06-2009 14:50:43)
J'ai toujours raison ! Sauf quand j'ai tort, et même quand j'ai tort, j'ai raison, parce que je sais que j'ai tort !
Hors ligne
personne ?
J'ai toujours raison ! Sauf quand j'ai tort, et même quand j'ai tort, j'ai raison, parce que je sais que j'ai tort !
Hors ligne
auriez vous une idée, une piste, un miracle ou autre, pour pouvoir gérer simplement cette recherche multi-critères ?
Désolé, pour les miracles, il y a actuellement une rupture de stock
Ensuite, rendre simple une recherche complexe : hummm , pas évident
D'après ce que je vois, tu peux tenter avec des concaténations pour définir le paramètre du WHERE... mais c'est loin d'être gagné
definition de $parametre en fonction de conditionnelles puis SELECT champs FROM table WHERE $parametre;
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
bah c'est un peu ce que j'ai fait, mais je me retrouve avec des innombrable cas particulier (en mm temps avec autant de choix possible, on peut vite monté en cas particulier)
et du coup, si vous aviez des script que je puisse adapté ou autre, même phpmyadmin ne fait pas de formulaire si casse bonbon -_-
J'ai toujours raison ! Sauf quand j'ai tort, et même quand j'ai tort, j'ai raison, parce que je sais que j'ai tort !
Hors ligne
Saluton,
Dans un premier temps, tu devrais t'assurer que le code SQL résultant soit toujours syntaxiquement bien formé.
Ce n'est qu'après que tu détermineras ta politique.
Si le crétin d'utilisateur demande des choses incompatibles qui ne retourneront aucune ligne, est-ce vraiment ton problème ?
Si le filtrage demandé est stupide, aberrant, incohérent, n'importe quoi,...., mais qu'il permet la construction du requête raisonnablement exécutable, je mettrais bien le demandeur devant ses responsabilités.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
le soucis c'est que je dois lui dire quand c'est aberrant, et du coup isolé les cas aberrant...
et vu les possibilité que laisse le formulaire, bah je suis pas couché...
J'ai toujours raison ! Sauf quand j'ai tort, et même quand j'ai tort, j'ai raison, parce que je sais que j'ai tort !
Hors ligne
le souci c'est que je dois lui dire quand c'est aberrant.
Pourquoi ?
Ce qui peut t'apparaître comme aberrant peut très bien ne pas l'être dans SA logique.
On devrait virer ce post dans le forum Philo.
Mince, il n'existe pas (encore) !
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
le soucis c'est que je dois lui dire quand c'est aberrant, et du coup isolé les cas aberrant....
Ou alors définir tout les cas "cohérents" !! et rejeter tout les cas aberrants avec le else{}
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
oui mais les cas cohérent son innombrable vu la permissivité du formulaire
J'ai toujours raison ! Sauf quand j'ai tort, et même quand j'ai tort, j'ai raison, parce que je sais que j'ai tort !
Hors ligne
En fait, si mes souvenirs mathématiques restent fiables tu as 18x17x16 cas possibles soit 4896.
Ce qui prouve que ce n'est pas innombrable. Bien sûr en éliminant les doublons (lesquels ne poseraient pourtant pas de problème particulier à SQL).
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Pages :: 1