Bonjour,
J'ai une requête mySQL qui porte sur une bdd de 8 tables, le tout dans un script PHP.
La requête en question :
La requête retourne bien le résultat voulu quand TOUTES les variables renseignées concordent. Si il y a incompatibilité, mon script me retourne bien un message d'erreur. En revanche, ce que j'aimerais, c'est que la requête me retourne des résultats même si toutes les variables ne sont pas renseignées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Select nomspot, image from tspot, tacces, tcommune, tdifficulte, tlocalite, tpays, tregion, ttype where tspot.nocommune=tcommune.nocommune and ttype.notype=tspot.notype and tlocalite.nolocal=tspot.nolocal and tspot.nodiff=tdifficulte.nodiff and tacces.noacces=tspot.noacces and tregion.noregion=tcommune.noregion and tpays.nopays=tregion.noregion and tspot.nocommune='".$_POST["nocommune"]."' and tspot.notype='".$_POST["notype"]."' and tspot.nolocal='".$_POST["nolocal"]."' and tspot.nodiff='".$_POST["nodiff"]."' and tspot.noacces='".$_POST["noacces"]."' and tpays.nopays='".$_POST["nopays"]."' and tregion.noregion='".$_POST["noregion"]."';
Je m'explique : si je renseigne par exemple nocommune=1
notype=1
nolocal=2
nodiff=1
noacces=1
nopays=1
noregion=1,
il existe un "nomspot" qui regroupe toutes ces caractéristiques, et la requête me le retourne.
En revanche si je ne renseigne que : nopays=1, je voudrais avoir tous les "nomspot" correspondant à ce pays, sans tenir compte de "notype", "nolocal" ou encore "noacces".
Est-ce possible, ou faut-il que je crée différentes requête en fonction des champs remplis?
En espérant avoir été clair, je vous remercie d'avance de votre attention et de vos eventuelles réponses.
Partager