Requête dans une boucle

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

  1. 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
    1. Merci man, c'est bien ce que j'ai fais. Tout cela pasce que je n'avais pas une bonne compréhention des jointures.