|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Inscription : février 2010 Messages : 103 ![]() |
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 :
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. |
||
|
|
00
|
|
|
#2 | ||||
|
Membre Expert
![]() Inscription : mai 2002 Messages : 1 570 ![]() |
Bonjour,
Soit plusieurs requête ... Soit l'utilisation des OR mais là il faudra faire une écriture bien carrée ... Par ex: Code :
Par ex: Code :
__________________
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran) |
||||
|
|
00
|
|
|
#3 | ||||||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 242 ![]() |
Salut
Citation:
Petite parenthèse en passant. Il est préférable d'utiliser des jointures "naturelles" dans le FROM (JOIN ou INNER JOIN par exemple), et non de simple équivalences entre les tables. On réserve le WHERE uniquement pour les clauses (ou conditions) Et pour simplifier les tout, mettre des "alias" aux tables. A titre d'exemple : Code :
Citation:
Un truc du genre : Code :
__________________
Win XP | WampServer 2.2 | Apache 2.2.21 | Php 5.3.8 | MySQL 5.5.16 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] Dernière modification par RunCodePhp ; 08/03/2010 à 12h05. |
||||||
|
|
00
|
|
|
#4 | ||
|
Membre à l'essai
![]() Inscription : février 2010 Messages : 103 ![]() |
Re Bonjour, et Merci beaucoup !
J'ai les résultats escomptés, j'ai utilisé la méthode décrite par RunCodePhp avec la construction de la requête en fonction de la présence de variable. J'y avais pensé, mais étant un grand novice en php, je ne connaissais ni "isset", ni "!empty" . Juste pour info la requête ressemble pour l'instant à cela, et fonctionne : Code :
Un grand merci pour cette rapidité et cette efficacité, je suis bluffé !
|
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : mai 2002 Messages : 1 570 ![]() |
Bien joué pour le code RunCodePhp
J'suis partis en quenouille pour le coup ... ![]() Mets nous un beau Résolu 'Boris' tu sais bien que je suis dans ma semaine des tags résolus
__________________
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com