Hallo,

Op mijn site heb ik een ledenbestand helemaal in MySQL, alleen nu wil ik een soort top-5 maken van Landen waaruit de meeste leden komen...

Mijn database ziet er (sterk versimpeld) ongeveer zo uit:


+-----------+-------------------------------------+
| gebruiker | land |
+-----------+-------------------------------------+
| kees | Nederland |
| jan | Belgiƫ |
| klaas | Nederland |
| truus | Nederland |
| peter | Engeland |
+-----------+-------------------------------------+

Nu wil ik dus dat het php-script weergeeft:

1. Nederland
2. Belgiƫ
3. Engeland

Hoe kan ik dit maken??
SELECT DISTINCT land FROM tabel LIMIT 0,5
hallo, je moet alles bij elkaar optellen.

Nederland tel je bij elkaar op
Belgie tel je op
etc.
Je moet eerst doen wat Sander net zei, daarna moet je dat met wat ik zei doen
wat je ook kunt doen is dit:

select alles uit de database

en doe dan via PHP optellen

doe zoiets als dit:

<?
$sql = "SELECT land FROM tabel ORDER BY land";
$res = mysql_query($sql);

while ($row = mysql_fetch_array($res))
{
if (!$firstland)
{
$firstland = $row[land];
$count = 1;
}

if ($firstland == $row[land])
{
if (!$counter[$count])
$counter[$count] = 1;
else
$counter[$count]++;
}
else
{
$count = $count+1;
$firstland = $row[land];
$counter[$count] = 1;
}
}
?>

weet niet of het werkt, maar weet ook niet of er een SQL commando voor is waarmee je het gelijk 'goed' kunt sorteren..

geef je alleen een mogelijkheid, denk dat die van Ros beter is ;)
Hoe krijg ik dan de resultaten van als output in HTML?
$row = mysql_fetch_array($res);

en gbruik: echo ;)

Reageren