par
sadeq » 01 juin 2006, 08:41
Mais pourquoi tu mets un $ avant les noms de tes tables.
Sinon pour ce qui est de la requête que je t'ai proposée, la récupération est la même que pour n'importe quelle requête :
Bien sût il faut adapter la requête à tes propres tables et donc il faut respecter les noms des tables et des champs de ta base.
//Requête qui liste le nombre de produits par catégorie
$sql = "SELECT c.id_cat, c.nom_cat, count(p.ref) as nb_produits
FROM cat c join produits p on c.id_cat = p.id_cat
GROUP BY c.id_cat, c.nom_cat
ORDER BY c.nom_cat";
//Exécution de SQL
$resultat = mysql_query($sql);
//Récupèrer le résultat et l'afficher par exemple
while ($ligne = mysql_fetch_array($resultat) ) {
//afficher la ligne produit
echo "<p>Catégorie: $ligne[id_cat] - $ligne[nom_cat]
<p>Nbre produits: $ligne[nb_produits]";
}
La requête en fait, regroupe (GROUP BY) des produits par id_cat et nom_cat avant de compter leur nombre.
Et reclasse (ORDER BY) le résultat final par nom_cat par ordre alphabétique ascendant.
Si t'as encore des soucis, n'hésite pas d'envoyer la structure des tes tables catégories et produits.
Mais pourquoi tu mets un $ avant les noms de tes tables.
Sinon pour ce qui est de la requête que je t'ai proposée, la récupération est la même que pour n'importe quelle requête :
Bien sût il faut adapter la requête à tes propres tables et donc il faut respecter les noms des tables et des champs de ta base.
[php]
//Requête qui liste le nombre de produits par catégorie
$sql = "SELECT c.id_cat, c.nom_cat, count(p.ref) as nb_produits
FROM cat c join produits p on c.id_cat = p.id_cat
GROUP BY c.id_cat, c.nom_cat
ORDER BY c.nom_cat";
//Exécution de SQL
$resultat = mysql_query($sql);
//Récupèrer le résultat et l'afficher par exemple
while ($ligne = mysql_fetch_array($resultat) ) {
//afficher la ligne produit
echo "<p>Catégorie: $ligne[id_cat] - $ligne[nom_cat]
<p>Nbre produits: $ligne[nb_produits]";
}
[/php]
La requête en fait, regroupe (GROUP BY) des produits par id_cat et nom_cat avant de compter leur nombre.
Et reclasse (ORDER BY) le résultat final par nom_cat par ordre alphabétique ascendant.
Si t'as encore des soucis, n'hésite pas d'envoyer la structure des tes tables catégories et produits.