Avatar billede iznogood Nybegynder
22. august 2005 - 23:11 Der er 6 kommentarer og
1 løsning

Hjælp til SELECT COUNT

Jeg har denne kode på min hjemmeside:

$foresp = mysql_query("SELECT postnr, bynavn FROM skoler WHERE postnr BETWEEN 5000 AND 5985 GROUP BY postnr");

while($row = mysql_fetch_array($foresp)) {
echo "<a href=\"../results.php?pnum={$row['postnr']}\">".$row['postnr']." ".$row['bynavn']."</a>";
echo "<br>";
}

Koden virker fint og returnerer en oversigt med postnumre/byer, som samtidig er links til forekomster i det relevante postnr.

Jeg vil gerne forbedre det ved at anføre antallet af unikke forekomster ['navn'] ud for hver postnr./by.

eks:
9000 Aalborg (14)

Jeg har eksperimenteret og googlet mig frem til noget a la nedenstående:

SELECT COUNT(DISTINCT navn) FROM skoler WHERE postnr = $row['postnr']

Men hvordan får jeg bundet tingene sammen?
Avatar billede erikjacobsen Ekspert
22. august 2005 - 23:14 #1
select count(*) as antal, postnr group by postnr
Avatar billede erikjacobsen Ekspert
22. august 2005 - 23:15 #2
Og dvs i dit oprindelige sql

$foresp = mysql_query("SELECT count(*) as antal, postnr, bynavn FROM skoler WHERE postnr BETWEEN 5000 AND 5985 GROUP BY postnr");

Det med at du kan aflæse bynavn er egentlig noget snyd, som kun virker i MySql sådan som du skriver det her.
Avatar billede iznogood Nybegynder
22. august 2005 - 23:28 #3
Hvis jeg udvider min $foresp, som du foreslår, kan jeg så bare skrive:

echo $row['antal'];

- efter linket?

Hvad mener du med snyd? Hjemmesiden kan rigtig nok kun vise det jeg har tastet ind i databasen. Men det er kun fordi jeg ved for lidt om SQL & PHP til at lave en joined database med alle landets postnumre og byer - hvis det er det du mener.
Avatar billede erikjacobsen Ekspert
22. august 2005 - 23:30 #4
Det er så muligt du skal lære det, hvis du en dag ikke længere bruger mysql. Eller de en dag vil til at overholde SQL-standarder. Nu ved du det, så kan du altid kigge på det til den tid.

Prøv bare det du selv foreslår.
Avatar billede iznogood Nybegynder
23. august 2005 - 00:01 #5
Prøvede det...og det virkede perfekt.

Det er anden gang på et par uger, at du hjælper mig på rette vej. Kan du genkende dit forslag fra http://www.eksperten.dk/spm/640107 i ovenstående?

Smid et svar - jeg skylder dig nogle points.
Avatar billede erikjacobsen Ekspert
23. august 2005 - 00:03 #6
Nej, dertil er min hukommelse alt for dårlig. ;(
Jeg samler slet ikke på point, tak. Svar selv, accepter eget svar.
Avatar billede iznogood Nybegynder
23. august 2005 - 00:07 #7
OK. Mange tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester