Version complète: sur le forum Webmaster Hub : Requête BDD
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
biomax
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 :

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 smile.gif
Dan
Pour ta requête, c'est simple:

CODE
select marque, count(*) from rev group by marque
devrait donner ce que tu veux, non ?
biomax
Je fais 2 requêtes ou je peux afficher ce que je veux avec juste celle-là ? Si oui comment ?

Merci
Dan
Non, une seule requête.
Tu remplaces :
CODE
$sql = "SELECT marque FROM rev";

par
CODE
$sql = "select marque, count(*) as qty from rev group by marque";


et ensuite, il faudra afficher les résultats... en remplaçant :
CODE
   echo '<h2>'.$row->marque.'</h2>';

par
CODE
   echo '<h2>'.$row->marque.' ('.$row->qty.')</h2>';


... de mémoire, si je ne me suis pas loupé quelque part. whistling.gif
biomax
Excellent merci beaucoup !

Je reviendrai whistling.gif cool.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.