Avatar billede keeem Nybegynder
16. januar 2009 - 13:28 Der er 7 kommentarer

Rund op/ned til nærmeste værdi. Find nærmeste forhandler?

Hey

Jeg skal lave en søgefunktion på et site, hvor det er muligt for brugeren at indtaste et postnummer, for at finde den nærmeste forhandler.

Altså jeg skal have indtastet nogle forskellige forhandlere i enten MySQL, JavaScript eller PHP (som et array mårke?).

En funktion lidt i stil med denne her hos netto: http://kort.krak.dk/netto2002/input.asp

Så hvis kunden indtaster 8000, men der ikke findes nogle forhandlere i det postnummer, så skal brugeren have vist den nærmeste forhandler.

Hvordan kan dette gøres på den smarteste måde?

På forhånd tusind tak :)
Avatar billede kjulius Novice
16. januar 2009 - 17:02 #1
Det ser ud til at være en funktion som Kraks Forlag stiller til rådighed for Netto (sikkert mod betaling). Du kunne jo også prøve at henvende dig til Krak for at høre hvad prisen for en sådan service vil være. Det er ikke altid det kan betale sig at opfinde den dybe tallerken én gang til.
Avatar billede erikjacobsen Ekspert
16. januar 2009 - 17:10 #2
Det kan i hvert fald ikke lade sig gøre blot at finde det postnummer, der ligger tættest på numerisk. Postnumrenes rækkefølge har kun en svag geografisk korrelation.
Avatar billede keeem Nybegynder
16. januar 2009 - 17:36 #3
Jeg har ikke brug for at finde noget på et kort eller lignende. Kun at finde den nærmeste forhandler, og så udskrive adressen på den givne forhandler.

Så eksemplet med Netto, er bare tilfældigt at det lige er Krak der har leveret denne. Mange butikker (Føtex, super Brugsen, Kvickly osv.) har en funktion der kan dette, så det må helt sikkert kunne gøres uden at gøre brug af Krak.

Men erikjacobsen, er du sikker på at det ikke kan lade sig gøre at finde den nærmeste numeriske værdi i en MySQL-database, eller i et Array i JavaScript eller PHP?
Avatar billede erikjacobsen Ekspert
16. januar 2009 - 18:15 #4
Det kan lade sig gøre - men hvorfor? At to postnumres talværdi ligger tæt på hinanden har (stort set) ikke noget at gøre med om de ligger tæt geografisk.

8361 ligger numerisk tættere på Ebeltoft og Samsø, end på Viby, men check lige hvor mange kilometer der er.

Det er ikke fordi jeg har en løsning til dig - det er kun for at undgå at du gør dig selv til grin.
Avatar billede keeem Nybegynder
16. januar 2009 - 21:11 #5
Det kan jeg godt se Erik, men det er ikke mig selv der skal bruge det, men jeg skal lave det i forbindelse med et site til en kunde. Og han vil gerne have en "nærmeste forhandler"-funktion. Men kan godt se problematikken.
Har du et andet forslag til hvordan man så kunne lave sådan en funktion?

Men hvordan ville det egentlig se ud kodemæssigt, HVIS det skulle laves på den først omtalte måde så?
Avatar billede erikjacobsen Ekspert
16. januar 2009 - 21:18 #6
Det ville hjælpe at få nogle længde/breddegrader på postnumrene - så kan man beregne afstande. Et postnummer-distrikt kan være stort, men det giver mere mening.
Avatar billede jensgram Nybegynder
16. januar 2009 - 21:21 #7
"Men hvordan ville det egentlig se ud kodemæssigt, HVIS det skulle laves på den først omtalte måde så?" - man ville vel sortere efter stigende forskel:


SELECT ... FROM forhandlere WHERE ... ORDER BY ABS(postNr - <indtastet>) DESC
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
Computerworld tilbyder specialiserede kurser i database-management

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