Grouper les résultats d'une requete

Grouper les résultats d'une requete - PHP - Programmation

Marsh Posté le 02-10-2006 à 22:42:38    

Bonsoir à tous !
 
J'ai la requête suivante :
 
$result=mysql_query("SELECT id, att FROM dream WHERE def='$pseudo' ORDER BY id ASC" );
while ( $row = mysql_fetch_array($result)){
 
... }
 
Mais il est possible empiriquement que la requête resorte plusieurs entrées de la base de donnée avec un "att" identique ..
Par exemple il peut y avoir comme valeurs de att : "poire", "banane", "poire", "poire", "fraise", "framboise", "cerise", "cerise", "cerise"..etc
Comment faire pour afficher alors en echo quelque chose du style "$att (X5 (nb d'entrées))" si il est retrouvé en plusieurs exemplaires ?
 
Merci d'avance ! ^^

Reply

Marsh Posté le 02-10-2006 à 22:42:38   

Reply

Marsh Posté le 02-10-2006 à 23:24:09    

SELECT id, att, count(att) FROM dream WHERE def='$pseudo' group by att ORDER BY id ASC

Reply

Marsh Posté le 03-10-2006 à 14:02:56    

SELECT id, att, count(att) as nombre_att FROM dream WHERE def='$pseudo' group by att ORDER BY id ASC
 
le as te permet d'accéder plus facilement à ta valeur :
$row['nombre_att']

Reply

Marsh Posté le 03-10-2006 à 17:18:22    

Vui mais si je fais un  
 
while ($row=mysql_fetch_array['$requete']){
echo "$row['att']"; if ($row['att']>1){ echo "(".$row['att'].""; }
}
 
Ca risque de m'afficher plusieurs fois une même entrée "att" non ?

Reply

Marsh Posté le 04-10-2006 à 01:03:03    

ncdetoulouse a écrit :

Vui mais si je fais un  
 
while ($row=mysql_fetch_array['$requete']){
echo "$row['att']"; if ($row['att']>1){ echo "(".$row['att'].""; }
}
 
Ca risque de m'afficher plusieurs fois une même entrée "att" non ?


Regardes ce que signifie le group by :o
 
T'as une ligne par terme avec le terme et le nombre de fois où il apparait :o
 
Testes au moins  :kaola:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed