biomax Posté 3 Avril 2008 Posté 3 Avril 2008 Bonjour à tous, je n'arrive pas à afficher comme je veux le résultat d'une requête. En allant chercher dans la bdd tous les enregistrements, je veux afficher un résultat marque par marque, avec entre parenthèse le nombre de produit trouvé, comme cela : Marque 1 (X produits) - Marque 2 (X produits) - Marque 3 (X produits) - ETC ETC ETC J'arrive à afficher les marques, mais je ne trouve pas la fonction pour compter le nombre de d'enregistrement par marque. Voici mon code : <?php// information pour la connection à le DBinclude ("db/db_connect.php");// connection à la DB$liendb = mysql_connect ($dbhost,$dbusr,$dbpass) or die ('Erreur : '.mysql_error() );mysql_select_db ($database) or die ('Erreur :'.mysql_error());// requete table rev$sql = "SELECT marque FROM rev";$result1 = mysql_query ($sql,$liendb) or die("Erreur MySQL !!!<br />$sql<br />" . mysql_error());while ($row = mysql_fetch_object($result)) { echo '<h2>'.$row->marque.'</h2>'; echo '<br>'; }}mysql_close ($liendb);?> Merci de me donner un petit coup de main
Dan Posté 3 Avril 2008 Posté 3 Avril 2008 Pour ta requête, c'est simple: select marque, count(*) from rev group by marque devrait donner ce que tu veux, non ?
biomax Posté 3 Avril 2008 Auteur Posté 3 Avril 2008 Je fais 2 requêtes ou je peux afficher ce que je veux avec juste celle-là ? Si oui comment ? Merci
Dan Posté 3 Avril 2008 Posté 3 Avril 2008 Non, une seule requête. Tu remplaces : $sql = "SELECT marque FROM rev"; par $sql = "select marque, count(*) as qty from rev group by marque"; et ensuite, il faudra afficher les résultats... en remplaçant : echo '<h2>'.$row->marque.'</h2>'; par echo '<h2>'.$row->marque.' ('.$row->qty.')</h2>'; ... de mémoire, si je ne me suis pas loupé quelque part.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant