Probleme de requete sql

ecirtap12 Messages postés 12 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 13 décembre 2010 - 10 déc. 2010 à 23:06
ecirtap12 Messages postés 12 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 13 décembre 2010 - 13 déc. 2010 à 08:09
Bonsoir,

j'ai la requete sql suivante:

"SELECT * FROM table WHERE champ1='".$variable1."' AND champ2='".$variable2."' AND champ3='".$variable3."' ORDER BY champ0 ASC"

Cette requete fonctionne parfaitement quand dans ma table mes champ1, champ2, champ3 contiennent une donnée mais elle ne fonctionne pas quand champ2 ou champ3 est vide.

Quel paramètre dois je passer en $variable 2 et ou $variable3 pour que la requete me retourne un résultat même si mon champ2 et ou mon champ3 est vide?

Merci pour votre aide car je débute et là, j'ai beau chercher, je ne vois pas.

2 réponses

Malamute7 Messages postés 25 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 25 décembre 2010
11 déc. 2010 à 02:26
Bonsoir,

que penserais tu de cette reponse :
"SELECT DISTINCT * le distinct te permet de ne pas avoir de doublon
FROM table
WHERE champ1='".$variable1."' AND champ2='".$variable2."' AND champ3='".$variable3."'
OR champ1='".$variable1."' en ajoutant le ou, tu risques de creer des doublons d'ou le distinct
ORDER BY champ0 ASC"

je pense que ceci devrais marcher.
( cependant il y a surement plus simple, pourquoi tu veux preciser 3 criteres,
si tu prends de toute façon toutes les réponses dont le 1er critère est juste ? )

"SELECT DISTINCT *
FROM table
WHERE champ1='".$variable1."'
ORDER BY champ0 ASC"

cette requête suffis non ?
maintenant si tu veux sois que les 3 critere soi juste ou
que l'un soit juste mais les deux autres a nul c est cette requetes:

"SELECT DISTINCT *
FROM table
WHERE champ1='".$variable1."' AND champ2='".$variable2."' AND champ3='".$variable3."'
OR champ1='".$variable1."' AND champ2 is NULL AND champ3 is NULL je ne sais plus si le is null marche pour les caracteres, au pire tu met champ2='' and champ3=''
ORDER BY champ0 ASC"

j'espère que j'ai pu répondre à ta question.
Cordialement.
0
ecirtap12 Messages postés 12 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 13 décembre 2010
13 déc. 2010 à 08:09
Merci pour ta réponse.

Je vais essayer.
0
Rejoignez-nous