Requête dans une boucle

saf@1 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
saf@1 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

j'aimerais savoir s'il est possible de faire une quelle requête. si oui voyer ce code qui contient une erreur au niveau $ree->execute();.

Ici l'objectif est de faire une boucle qui permettra d'executer une requête en fonction du resultat d'une autre requête. Code:

<?php
   //$dbC....
$ree = $dbC->prepare('SELECT details.id_cmd,details.id_prod,details.qte FROM details,produit_commande WHERE details.id_cmd=produit_commande.id_commande ORDER BY details.id_cmd')or die (print_r($this->_db->errorinfo()));
 $ree->execute();
 $dtls = $ree->fetch(PDO::FETCH_ASSOC);

 while ($dn2 = $ree->fetch(PDO::FETCH_ASSOC))
    {
 $reeq = $dbC->prepare('SELECT nom_produit FROM produit WHERE id_produit=: Id')or die (print_r($this->_db->errorinfo()));
 $reeq->bindParam(':Id', $dn2['details.id_prod']);
 $reeq->execute();
 $nprd = $reeq->fetch(PDO::FETCH_ASSOC);
    }
   
?>




1 réponse

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

C'est fonctionnel mais pas optimisé. Si tu as beaucoup de résultat à ta première requête, l’exécution des requêtes dans la boucle va être relativement long.

L'idéal serait plutôt de faire une jointure afin d'exécuter qu'une seule requête.

Bonne journée
0
saf@1 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Merci man, c'est bien ce que j'ai fais. Tout cela pasce que je n'avais pas une bonne compréhention des jointures.
0