Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
760 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  eviter une requete dans une boucle?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

eviter une requete dans une boucle?

n°544980
saxgard
Posté le 20-10-2003 à 14:37:38  profilanswer
 

Voila
 
j'aimerai savoir comment on pourrait eviter une requete dans une boucle sachant que je doit verifier
si cahque valeur dans un tableau se trouve dans la base
Et que je doit savoir quelles sont les valeurs qui se trouve ou non dans la base.
 
 
merci  d'avance
 

mood
Publicité
Posté le 20-10-2003 à 14:37:38  profilanswer
 

n°544990
saxgard
Posté le 20-10-2003 à 14:40:31  profilanswer
 

voici la requete qui se trouve dans la boucle  
 

Code :
  1. $result=odbc_exec($connODBC,"select count(CODPRO) from PRO where CODPRO='$cod_pro[$i]' AND (CODSOC=1 OR CODSOC BETWEEN 10 AND 16)" );


 :D  
 

n°545001
noldor
Rockn'roll
Posté le 20-10-2003 à 14:45:59  profilanswer
 

Saxgard a écrit :

voici la requete qui se trouve dans la boucle  
 

Code :
  1. $result=odbc_exec($connODBC,"select count(CODPRO) from PRO where CODPRO='$cod_pro[$i]' AND (CODSOC=1 OR CODSOC BETWEEN 10 AND 16)" );


 :D  
 
 

ce serait pas plus malin de récupérer tous les produits, et leur nombre dans une seule requête


---------------
http://runnerstats.net
n°545026
saxgard
Posté le 20-10-2003 à 14:57:39  profilanswer
 

noldor a écrit :

ce serait pas plus malin de récupérer tous les produits, et leur nombre dans une seule requête


 
ouais mais comment faire?
 
le nombre de produit est variable  
la base "PRO" ou je test si le produit existe est assez consequente.
 
et j'ai essayé un truc du genre (exemple pour 2 produits):
 

Code :
  1. $result=odbc_exec($connODBC,"select cod_pro from PRO where (CODPRO='$cod_pro[0]' OR CODPRO='$cod_pro[1]')  AND (CODSOC=1 OR CODSOC BETWEEN 10 AND 16)" );

 
 
je boucle sur le nombre d eproduit a tester et je met ca dans une variable  pour obtenir ca :
(CODPRO='$cod_pro[0]' OR CODPRO='$cod_pro[1]')  
 
 
ensuite je voualis bouclé le resultat de la requete pour les stocker dans un tableau (par exemple) et ensuite tester si mon produit existe dans le tableau
 
PB: la requete est trop longue a l'execution
 
bon je merde peut etre dans mon résonnement  
 

n°545065
saxgard
Posté le 20-10-2003 à 15:08:02  profilanswer
 

et pourquoi cette requete rame?
 

Code :
  1. $result=odbc_exec($connODBC,"select distinct CODPRO from PRO where (CODPRO='AA' OR CODPRO='BB') AND (CODSOC=1 OR CODSOC BETWEEN 10 AND 16)" );


 
comment l'optimiser?
 
avce ousans disctinct ca rame

n°545791
ratibus
Posté le 21-10-2003 à 09:06:44  profilanswer
 

$result=odbc_exec($connODBC,"select count(CODPRO) from PRO where (CODSOC=1 OR CODSOC BETWEEN 10 AND 16)" ) GROUP BY CODPRO;

n°545829
saxgard
Posté le 21-10-2003 à 09:51:40  profilanswer
 

ratibus a écrit :

$result=odbc_exec($connODBC,"select count(CODPRO) from PRO where (CODSOC=1 OR CODSOC BETWEEN 10 AND 16)" ) GROUP BY CODPRO;
 


 
merci  ;o)

n°546020
ratibus
Posté le 21-10-2003 à 12:32:14  profilanswer
 

ça fait ce que tu veux ?

n°546033
saxgard
Posté le 21-10-2003 à 12:46:19  profilanswer
 

ratibus a écrit :

ça fait ce que tu veux ?


bin enfin de compt j'ai virer la requete pour simplifier
j'ai trouver un autre moyen  , mais je te remercie quand meme
ca pourra toujours me servir quand je devrait faire un count


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  eviter une requete dans une boucle?

 

Sujets relatifs
Probleme avec une requete SQL: je ne sais pas comment faire...!SQL besoin d'un coup de main sur une requete svp (och).
[VC++] ouvrir une requete au lieu d'une table...?<<<RESOLU[ PHP / MySQL ] requête de base ; résultat bizarre ...
MySQL / Free - requête qui marche pas ...Requête sur les dates
Requête sur les dates[ORACLE] récupérer les éléments X à Y d'une requete
[algo] problème d'inclusion de boucle[.net] pb de boucle ...
Plus de sujets relatifs à : eviter une requete dans une boucle?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR