probleme de requete

probleme de requete - PHP - Programmation

Marsh Posté le 22-09-2005 à 16:58:21    

salut à tous,  :hello:  
 
Voila, je veux faire une recherche multicritere, j'ai une requete qui me sort bien mon resultat :

Code :
  1. SELECT NOMPAT,PRENOMPAT,DATENAISPAT,FICHEDOS
  2. FROM PATIENT , DOSSIER ,  ALGO WHERE
  3. PATIENT.NUMPAT = DOSSIER.NUMPAT
  4. AND DOSSIER.NUMDOS = ALGO.NUMDOS
  5. AND ALGO1 =12


 
mais quand je lui rajoute une table (ex  : TRAITEMENT) que je ne me sers pas, là il me sort pleins de résultat qu'il ne devrait pas !!

Code :
  1. SELECT NOMPAT,PRENOMPAT,DATENAISPAT,FICHEDOS
  2. FROM PATIENT, DOSSIER , ALGO, TRAITEMENT WHERE
  3. PATIENT.NUMPAT = DOSSIER.NUMPAT
  4. AND DOSSIER.NUMDOS = ALGO.NUMDOS
  5. AND ALGO1 =12


 
ALors je ne sais pas d'ou cela peux provenir mais peu etre une idée. J'ai des clé etrangère dans mes différentes tables peut etre il fais la confusion, je sais pas si quelqu'un à une idée ??
 
Merci

Reply

Marsh Posté le 22-09-2005 à 16:58:21   

Reply

Marsh Posté le 22-09-2005 à 17:01:45    

euh traitement tu fais la jointure où, là?[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-09-2005 à 17:08:27    

je ne fais pas de jointure en fait je fais ca exactement :

Code :
  1. $requete="SELECT  NOMPAT,PRENOMPAT,DATENAISPAT,FICHEDOS
  2. FROM PATIENT , DOSSIER , TRAITEMENT , ALGO, ITEMS WHERE ";


 
je stocke dans une requete et suivant ce que l'util à coher comme case  
avant je rajoute des champs dasn where comme ceci :  
 

Code :
  1. $requete.=$flgAND."IDITEM=IDLISTE='".$Pathologie."' ";
  2. //ou comme ca si j'ai pas besoin du AND :
  3. $requete.="IDITEM=IDLISTE='".$Pathologie."' ";


 
voilà


Message édité par kenji_lol le 22-09-2005 à 17:09:21
Reply

Marsh Posté le 22-09-2005 à 17:10:18    

Bah sans jointure tu fais un produit avec tout le contenu de ta table, forcément ça retourne trop de résultats![:pingouino]


Message édité par skeye le 22-09-2005 à 17:10:47

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-09-2005 à 17:14:20    

oui mais si je dis à ma requete de selectionner des truc de table A et table B et que dans ma condition where je ne prend pas en compte ma table B il ne doit me pertuber si ??

Reply

Marsh Posté le 22-09-2005 à 17:14:59    

kenji_lol a écrit :

oui mais si je dis à ma requete de selectionner des truc de table A et table B et que dans ma condition where je ne prend pas en compte ma table B il ne doit me pertuber si ??


Bien sûr que si!!:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-09-2005 à 17:19:31    

oki donc je ne peux pas faire une base de requete comme :
 

Code :
  1. $requete="SELECT  NOMPAT,PRENOMPAT,DATENAISPAT,FICHEDOS FROM PATIENT , DOSSIER , TRAITEMENT , ALGO, ITEMS WHERE ";


 
et puis derriere rajouter des condition comme je veux je suis obliger de construire une requete par case cocher
[edit]
parce que là j'avoue je suis un peu perdu dans ce cas là, si on peut pas, car je ne vois pas comment faire de recherche multicritere


Message édité par kenji_lol le 22-09-2005 à 17:21:23
Reply

Marsh Posté le 22-09-2005 à 17:21:51    

parce-que t'es pas capable de construire ton champs FROM en fonction de ce qui est coché aussi? [:mlc]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-09-2005 à 17:25:44    

bah en fait j'ai  checkbox et chacune correspond à une table mais si le l'util veut cocher  case je suis forcement obliger de construire une "requete de base" et ensuite de rajouter mes condition en fonction de ce que l'util à cocher .
Tu vois ce que je veux dire ?

Reply

Marsh Posté le 22-09-2005 à 17:28:15    

kenji_lol a écrit :

bah en fait j'ai  checkbox et chacune correspond à une table mais si le l'util veut cocher  case je suis forcement obliger de construire une "requete de base" et ensuite de rajouter mes condition en fonction de ce que l'util à cocher .
Tu vois ce que je veux dire ?


non.
 
Tu parcours les cases cochées, et tu crées dans 2 variables différentes ton FROM et ton WHERE. Il te reste plus qu'à concaténer.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-09-2005 à 17:28:15   

Reply

Marsh Posté le 22-09-2005 à 17:32:16    

ah oui bien vu :) je vais esayer ca !
Si j'ai des soucis je viens te voir ;)
merci bien skeye


Message édité par kenji_lol le 22-09-2005 à 17:32:32
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed