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 :
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"]."';
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.

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.