Problème requête SELECT avec champs vides

Signaler
Messages postés
2
Date d'inscription
jeudi 18 septembre 2008
Statut
Membre
Dernière intervention
27 mars 2009
-
Messages postés
195
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
24 octobre 2011
-
Bonjour à tous,

Je suis actuellement confronté à un problème avec une requête SQL. Je vais essayer d'expliquer le plus précis possible.

Sur une page, un utilisateur à plusieurs champs de recherches :
-Pays
-Titulaire
-Marque
Ces champs ne sont pas obligatoires !

Donc par exemple un utilisateur saisi juste le pays et clique sur recherche. On arrive sur une autre page de résultat et là, j'aimerais afficher tous les enregistrements dans un tableau. Le problème est, qu'il faut également que les titulaires et marque soient prises en compte.

J'ai essayé une requête du style mais elle ne fonctionne pas :
SELECT * FROM Client WHERE Marque='' AND Titulaire='' AND Pays='France' ORDER BY Pays;

J'espère que je suis assez clair dans mes explications.

Merci de bien vouloir prendre le temps de m'aider,
Linkman

3 réponses

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

Tu aurais été plus clair avec 3/4 retours à la ligne , et surtout avec un bout de code, parce que là ce n'est pas facile de t'aider.

Je peux toujours te répondre ça, mais c'est peut être à côté de la plaque :

if ($_POST['marque']) $marque = mysql_real_escape_string('marque='.$_POST['marque']); else $marque='';
// + même traitement pour les autres données post

"SELECT * FROM Client WHERE '$marque' [autres traitements] ORDER BY Pays";

Cordialement,

Kohntark -
Messages postés
195
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
24 octobre 2011
27
Bnojour,
tout depend comment tu as defini tes champs dans la BD : NULL ? NOT NULL ?

Essaye :
SELECT * FROM Client WHERE Marque=NULL AND Titulaire=NULL AND Pays='France' ORDER BY Pays;
Messages postés
195
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
24 octobre 2011
27
j'ai l'impression que les sauts de ligne n'ont pas ete pris en compte !

Pourtant, j'en avais mis !