Probleme : Formulaire de recherche

Eléphanteau du PHP | 34 Messages

27 août 2006, 11:17

sauf que là, il me prend plus en compte mes demandes au point de vue d'absence...

Eléphanteau du PHP | 34 Messages

27 août 2006, 11:35

Il doit y avoir un souci avec le AND et le OR ... mais je vois pas la

Mammouth du PHP | 19672 Messages

27 août 2006, 11:43

Tu n'es décidément pas logique et je parie que tu as remplacé le "AND" entre la clause d'absence et les clauses dynamiques : c'est l'autre "AND" dans la fonction implode() qu'il faut remplacer et non la première.

Essaye d'avoir un raisonnement logique et essaye de formuler la question en français avant de traduire ça en SQL, ça devrait ressembler à quelque chose comme ceci:

Code : Tout sélectionner

"Me retourner toutes les lignes depuis la table cer_membres Où ( le champ absence a une valeur entre 0 et 2 ET ( Le nom "est proche de" '". $la_variable_nom ."' OU Le grade est '". $la_variable_grade ."' OU Le poste est '". $la_variable_poste ."' ) )"
En d'autre termes, on vérifie que l'absence est dans une fourchette entre 0 et 2 ET qu'au moins une des condition suivantes est vraie, donc on regroupe les trois clauses suivantes séparées par un "OR", mais pour une question de précédence des opérateurs, on devra ajouter des parenthèses. La construction sera donc modifiée comme ceci:
$clauses = (count($t_clauses) > 0) ? " AND (". implode(" OR ", $t_clauses) .")" : null;
Est-ce que tu comprends mieux le fonctionnement de cette façon ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 34 Messages

27 août 2006, 11:55

Je comprend, je comprend mais ca veut pas fonctionner. Je vais creuser mais y a un truc qui manque....

Mammouth du PHP | 19672 Messages

27 août 2006, 11:56

Fais afficher la requête générée avant exécution et teste-là directement dans phpMyAdmin, ça devrait t'aider pas mal.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 34 Messages

27 août 2006, 11:59

en effet :)

Eléphanteau du PHP | 34 Messages

27 août 2006, 13:39

j'ai trouver une solution annexe. Merci de ton aide en tt cas