Requetes MySQL pour listing produits/commandes

colobe
Invité n'ayant pas de compte PHPfrance

19 oct. 2011, 15:47

Bonjour,

Je dois, à partir d'un site de prise de commande, générer un document regroupant les produits et les commandes.

Pour le client, je génère un document listant ses commandes avec les produits et cadeaux dans chaque commandes.
Pour le dépôt, je doit générer un document listant tous les produits et cadeaux de toutes les commandes.

J'ai donc fais un SELECT sur mes commandes puis une boucle while pour lister les produits, et les cadeaux.
Problème : il me génère un document avec :
commande 1 : produit et cadeau puis commande 2 : produit et cadeau etc...
Alors que je voudrais :
produits : ceux de la cmde1, 2 ... et ensuite cadeaux : ceux de la cmde1,2...

J'espère avoir été assez clair.
Faut-il que je poste mes fragments de code ?

Merci pour votre aide,
Cordialement
Colo

ViPHP
ViPHP | 2577 Messages

19 oct. 2011, 15:52

Au moins le select pour que l'on ait une idée

Invité
Invité n'ayant pas de compte PHPfrance

19 oct. 2011, 16:51

La voici :
Ilm y a donc d'abord la sélection des commandes de l'utilisateur puis la sélection des différents produits, cadeaux etc... avec affichage dans un tableau.

Code : Tout sélectionner

$q4 = "SELECT * FROM vtiger_salesorder"; $q4 .= "WHERE smownerid='".$user."' "; $db->query($q4); while($db->next_record()){ $q5 = "SELECT * FROM vtiger_inventoryproductrel WHERE id='".$db->f("salesorderid")."' AND type_cadeau=''"; $dbs->query($q5); while($dbs->next_record()){ $contenu_mailMG .= "<tr><td>".$dbs->f("pmfr_part_no")."</td><td>".$dbs->f("product_name")."</td><td>".$dbs->f("quantity")."</td><td>".$dbs->f("listprice")."</td></tr>"; } $q6 = "SELECT * FROM vtiger_inventoryproductrel WHERE id='".$db->f("salesorderid")."' AND type_cadeau!=''"; $dbs->query($q6); while($dbs->next_record()){ $contenu_mailMG .= "<tr><td>".$dbs->f("mfr_part_no")."</td><td>".$dbs->f("product_name")."</td><td>".$dbs->f("quantity")."</td><td>".$dbs->f("listprice")."</td></tr>"; } $q7 = "SELECT * FROM vtiger_inventoryproductrel WHERE id='".$db->f("salesorderid")."' AND subject LIKE '%Usage Perso%'"; $dbs->query($q7); while($dbs->next_record()){ $contenu_mailMG .= "<tr><td>".$dbs->f("mfr_part_no")."</td><td>".$dbs->f("product_name")."</td><td>".$dbs->f("quantity")."</td><td>".$dbs->f("listprice")."</td></tr>"; } }
Qu'en pensez vous ?

Merci