Avatar billede jalle_work Nybegynder
13. maj 2002 - 12:01 Der er 6 kommentarer og
1 løsning

Find nærmeste postnummer algoritme.

Hejsa

Jeg er ved at lave en hjemmeside, hvor man skal kunne søge efter nærmeste forhandler ud fra postnummer. Er der nogen der kender en god algoritme for det. Jeg kan sagtens søge fra et postnummer og opad i rækken af postnumre, men i nogen tilfælde er det bedre at søge nedad. Eks. find nærmeste forhandler: 5100; her er det bedst hvis algoritmen også finder de forhandlere der ligger i 5000 (Odense centrum) og ikke bare opefter.
Avatar billede sthen Nybegynder
13. maj 2002 - 12:07 #1
noget med:

$fra_postnr = $postnr-100;

lav herefter et array over 200 postnr.
Avatar billede tipsen Nybegynder
13. maj 2002 - 12:08 #2
du kan meget nemt lave én som starter med første tal i postnummeret:

SELECT * FROM postnrdb WHERE postnr LIKE '%5%';

Eller en som tager +-100 i postnummer:

SELECT * FROM postnrdb WHERE postnr BETWEEN 5000 AND 5200;

Omskrevet:

$postnr = 5100;
SELECT * FROM postnrdb WHERE ABS($postnr-postnr)<=100;
Avatar billede tipsen Nybegynder
13. maj 2002 - 12:10 #3
Ovennævnte metoder vil til tider give 'grimme' resultater - det kan ikke undgås når du sætter reglerne op matematisk! Den pæneste løsning vil være at lave en form for associationstabel, hvor du angiver hvilke postnumre som 'hører sammen' - en form for gruppering af postnumrene - men det kræver selvfølgelig lidt fodarbejde!
Avatar billede jalle_work Nybegynder
13. maj 2002 - 12:10 #4
Hmm, ja det havde jeg ikke lige tænkt på. Men hvad så hvis man helst vil have de postnumre der ligger omkring 5100?. Jeg mener kan man lave et eller andet smart med at man gerne vil have de fem forhandlere der ligger omkring 5100?
Avatar billede tipsen Nybegynder
13. maj 2002 - 12:12 #5
$postnr = 5100;
SELECT postnr, ABS($postnr-postnr) AS difference FROM postnrdb ORDER BY difference DESC LIMIT 0,5;
Avatar billede jalle_work Nybegynder
13. maj 2002 - 12:16 #6
Jeg takker for hjælpen til jer begge. Men pointsene må ubeskåret gå til tipsen (SQL-hajen over dem alle ;o) for den fremrygende smukke løsning. Den vil jeg med glæde tage fat i. Endnu engang tak.
Avatar billede tipsen Nybegynder
13. maj 2002 - 12:21 #7
Jeg siger tak og god arbejdslyst :-)
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