PDA

Bekijk Volledige Versie : tellen in database



Koen
22/02/07, 15:02
Ik werk met PHP/MySQL en heb een database gebouwd met daarin een
kwartierstaat (een soort familiestamboom). Ik wil graag tellen hoe vaak een
bepaalde achternaam in de database voorkomt. Als ik de volgende query draai
in SQL, dan lukt het:

SELECT achternaam, COUNT(achternaam) FROM kwartierstaat AS frequentie GROUP
BY achternaam ORDER BY achternaam ASC

Maar in php lukt het niet. Ik heb de volgende code opgenomen:

$query = "SELECT achternaam, COUNT(achternaam) FROM kwartierstaat AS
frequentie GROUP BY achternaam ORDER BY achternaam ASC";
$resultaat = mysql_query($query);
while ($rij = mysql_fetch_array($resultaat)) {
$achternaam = $rij["achternaam"];
$totaal = $rij["frequentie.achternaam"];

echo"$achternaam - $totaal<br>\n";
}

In mijn browser verschijnen wel alle namen keurig onder elkaar, maar het
aantal wordt er niet bij vermeld. Iemand enig idee wat ik fout doe?

Bedankt alvast!
Koen

Ronald Klip
22/02/07, 15:02
Op Thu, 22 Feb 2007 14:37:52 +0100 schreef Koen:

> SELECT achternaam, COUNT(achternaam) FROM kwartierstaat AS frequentie
> GROUP
> BY achternaam ORDER BY achternaam ASC

Je wilt die alias waarschijnlijk gebruiken voor de telling en niet voor de
tabel. Met andere woorden:

SELECT achternaam, COUNT(achternaam) AS frequentie
FROM kwartierstaat
GROUP BY achternaam
ORDER BY achternaam ASC

> $query = "SELECT achternaam, COUNT(achternaam) FROM kwartierstaat AS
> frequentie GROUP BY achternaam ORDER BY achternaam ASC";
> $resultaat = mysql_query($query);
> while ($rij = mysql_fetch_array($resultaat)) {
> $achternaam = $rij["achternaam"];
> $totaal = $rij["frequentie.achternaam"];

$totaal = $rij['frequentie'];

> echo"$achternaam - $totaal<br>\n";
> }


--
groet, Ronald

Koen
23/02/07, 02:08
Dat is inderdaad de oplossing, hartelijk dank!




"Ronald Klip" <nieuws@contentecontent.invalid> schreef in bericht
news:op.tn5kpjs2u6ldbc@dedell...
Op Thu, 22 Feb 2007 14:37:52 +0100 schreef Koen:

> SELECT achternaam, COUNT(achternaam) FROM kwartierstaat AS frequentie
> GROUP
> BY achternaam ORDER BY achternaam ASC

Je wilt die alias waarschijnlijk gebruiken voor de telling en niet voor de
tabel. Met andere woorden:

SELECT achternaam, COUNT(achternaam) AS frequentie
FROM kwartierstaat
GROUP BY achternaam
ORDER BY achternaam ASC

> $query = "SELECT achternaam, COUNT(achternaam) FROM kwartierstaat AS
> frequentie GROUP BY achternaam ORDER BY achternaam ASC";
> $resultaat = mysql_query($query);
> while ($rij = mysql_fetch_array($resultaat)) {
> $achternaam = $rij["achternaam"];
> $totaal = $rij["frequentie.achternaam"];

$totaal = $rij['frequentie'];

> echo"$achternaam - $totaal<br>\n";
> }


--
groet, Ronald