par
dread » 11 avr. 2008, 11:09
D'accord d'accord!!
Je vois déjà ceux qui pensent que je n'ai pas essayer par moi-même. C'est de ma faute.
Pour le moment, j'arrive à ce résultat là (si je reprend mon exemple):
1 --> 15
2 --> 5
6 --> 7
sauf que je voudrais que le produit avec pour ref "6" passe devant celui ayant le "2" puisque les quantités vendues sont plus importantes.
Voici le code que j'utilise:
// requete me permettant de lister les produits vendues
$query_produit="SELECT DISTINCT(ref_produit) FROM tbl_commande_produit, tbl_commande WHERE tbl_commande.id_commande=tbl_commande_produit.commande_id AND statut_reglement=1";
$rs_produit=mysql_query($query_produit, $conn_panier) or die(mysql_error());
while($row_produit=mysql_fetch_assoc($rs_produit)) {
echo $row_produit['ref_produit'].': ';
// requete me permettant de faire ressortir les quantités pour chaque produit de la liste
$query_qte="SELECT qte_produit FROM tbl_commande_produit, tbl_commande WHERE tbl_commande.id_commande=tbl_commande_produit.commande_id AND statut_reglement=1 AND ref_produit='".$row_produit['ref_produit']."'";
$rs_qte=mysql_query($query_qte, $conn_panier) or die(mysql_error());
$qte=0;
while($row_qte=mysql_fetch_assoc($rs_qte)) {
// je rajoute les quantités si un produit est présent plusieurs fois
$qte+=$row_qte['qte_produit'];
}
echo $qte.'<br/>';
}
Comment faire alors pour ordonner mes résultats par quantité?
Merci.
[edit] Je viens de trouver. Merci pour la piste de SUM et GROUP BY. C'est exactement ce qu'il me fallait.
Pour ceux que ça interesserait:
$query_somme="SELECT ref_produit, SUM(qte_produit) as qte FROM tbl_commande_produit, tbl_commande WHERE tbl_commande.id_commande=tbl_commande_produit.commande_id AND statut_reglement=1 GROUP BY ref_produit ORDER BY qte ASC";
Et en plus on gagne en legereté de code.
[/edit]