Aller au contenu

Requête BDD


biomax

Sujets conseillés

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 DB
include ("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 :)

Lien vers le commentaire
Partager sur d’autres sites

Pour ta requête, c'est simple:

select marque, count(*) from rev group by marque

devrait donner ce que tu veux, non ?

Lien vers le commentaire
Partager sur d’autres sites

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. :whistling:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...