Aller au contenu

Sujets conseillés

Posté

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 :)

Posté

Pour ta requête, c'est simple:

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

devrait donner ce que tu veux, non ?

Posté

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:

Veuillez vous connecter pour commenter

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



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