Avatar billede iznogood Nybegynder
14. august 2005 - 19:49 Der er 12 kommentarer og
1 løsning

Liste med postnummer/by - uden dubletter

Hej

Jeg har en database med en række navne, adresser, postnumre og byer etc.

Nu skal jeg lave en side, hvor der hentes en række postnumre/byer fra databasen - f.eks. alle forekommende nordjyske postnumre/byer (9000-9990).

Siden skal vise alle de forekommende nordjyske postnumre/byer som links - og hvert postnummer må kun stå listet een gang med tilhørende bynavn.

Det går meget godt med at hente postnumrene og få disse listet i stigende nummerorden.

Her er min kode:
$foresp = mysql_query("SELECT postnr FROM skoler WHERE postnr BETWEEN 9000 AND 9999 GROUP BY postnr");

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

Resultatet bliver således
9000
9100
9500
- hvor hvert postnummer er et link, og kun forekommer een gang.

Så vidt så godt.

I stedet for '9000' skulle der gerne stå '9000 Aalborg' etc.

Hvordan får jeg bynavnet med på listen?
Avatar billede erikjacobsen Ekspert
14. august 2005 - 19:54 #1
Står der Aalborg i din tabel? Så kan du tage den med i din select på linie med postnr
Avatar billede jokkejensen Novice
14. august 2005 - 19:56 #2
du henter kun "postnr" rækken ud af skoler tabellen... i skoler tabellen må du også have listet bynavn, eller alternativt og bedre, relatere til en anden tabel hvor disse er repræsenteret...
Avatar billede iznogood Nybegynder
14. august 2005 - 20:26 #3
Hmmm!

Skulle lige til at skrive om alle de ting, som jeg havde prøvet...

Men nu har jeg i stedet skiftet kolonnenavnet 'by' ud med 'bynavn'.

- og det var åbenbart det eneste der skulle til.

Lad mig gætte...der er et eller andet med ordet 'by' - uanset om man sider et par '' omkring det.
Avatar billede iznogood Nybegynder
14. august 2005 - 20:34 #4
Næste problem bliver at få linket '9000 Aalborg' til at opføre sig på samme måde, som hvis jeg havde tastet værdien 9000 ind i et form-felt og sendt det til en anden side.

Kan det klares med PHP?

Hvis nej, hvor skal jeg så futte hen med sådan et spm?
Avatar billede erikjacobsen Ekspert
14. august 2005 - 20:46 #5
Sådan noget i retning af:

  echo '<a href="/results.php?postnr={$row['postnr']}">'.$row[postnr]."</a>";

By er et reserveret ord "...ORDER BY...". Man kan godt bruge det alligevel i MySql, bare skriv det som `by`
Avatar billede iznogood Nybegynder
14. august 2005 - 21:27 #6
For at få teksten med måtte jeg rette din linie til:
echo '<a href="../results.php?pnum={$row[postnr]}">'.$row[postnr]." ".$row[bynavn]."</a>";

Den er dog ikke helt hjemme endnu, for resultatet bliver den korrekte tekst, men dette link:
http://www.site.dk/results.php?pnum={$row[postnr]}

Jeg prøver lige at oprette et nyt spm. med en passende titel.

Tak for hjælpen.
Avatar billede erikjacobsen Ekspert
14. august 2005 - 21:38 #7
Ik' nø'vendigt

echo "<a href=\"../results.php?pnum={$row[postnr]}\">".$row[postnr]." ".$row[bynavn]."</a>";
Avatar billede erikjacobsen Ekspert
14. august 2005 - 21:39 #8
Og hellere

echo "<a href=\"../results.php?pnum={$row['postnr']}\">".$row['postnr']." ".$row['bynavn']."</a>";
Avatar billede iznogood Nybegynder
14. august 2005 - 21:58 #9
Sært. Når jeg bruger dit seneste forslag, så ser linket rigtigt ud:

http://www.site.dk/results.php?pnum=9000

Men når jeg klikker, får jeg ikke vist det ønskede indhold fra databasen. Det samme sker, når jeg blot indtaster url'en http://www.site.dk/results.php?pnum=9000.

Overalt på sitet har jeg ellers dette søgefelt:
<form action="/results.php" method="post">
<input name="pnum" type="text" id="pnum" size="2" maxlength="4">
</form>

Indtaster man et postnummer og trykker enter, så får man vist alle skoler i det ønskede postnummer.

Overfører jeg værdien af pnum på en forkert måde?
Avatar billede erikjacobsen Ekspert
14. august 2005 - 22:02 #10
Når den står i url_en skal du bruge $_GET i stedet for $_POST. Bruger du begge metoder kan du nøjes med $_REQUEST, der dækker begge metoder.
Avatar billede iznogood Nybegynder
14. august 2005 - 22:14 #11
Det er helt perfekt nu.

Findes der en måde, hvorpå jeg kan overføre points til dig?

Det org. spm er jo lukket - og jeg har ikke oprettet et nyt spørgsmål til den seneste problemstilling.

Men points skal du i hvert fald have for al din hjælp.
Avatar billede erikjacobsen Ekspert
14. august 2005 - 22:21 #12
Jamen, jeg samler slet ikke på point, så det er fint nok med mig.
Avatar billede iznogood Nybegynder
14. august 2005 - 22:49 #13
Så får du istedet tusind tak herfra.

Du har været til stor hjælp.
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