webForumDet fria alternativet

Söka leverantörer baserat på eget postnummer

PHP

13 svar · 1 032 visningar · startad av Guldstrand

Medlem sedan juli 20041 271 inlägg
Frågan#1

Jag vet, ämnet är kanske inte det bästa. :r

Well.. till saken.
Tänkte fixa ett script där man kan söka leverantörer efter postnummer.
Alltså, man skriver in sitt eget postnummer i ett fält för att sedan kunna hitta närmaste återförsäljare baserat på ditt eget postnummer.
Lite svårt att förklara, men är säker på att ni vet vad jag menar. ;)

Hur skulle ett sådant script se ut? Är mest nyfiken på databasstrukturen.
Det bästa är väl att spara alla postnummer (till de olika leverantörerna) i en egen tabell, eller?

Tacksam för svar.

Medlem sedan okt. 2004159 inlägg
#2

DB-struktur

Jo det låter väl vettigt tycker jag. I och för sig borde man kanske veta mer om databasen och dess struktur innan man bestämmer sig säkert.

Sedan skulle jag ta ut ex. de tre första siffrorna ur ditt postnummer och söka på alla som börjar med det

SELECT * FROM tblPostCode WHERE postcode LIKE '450%'

Före det så bör man se till att både postnumren i tabellen och de inmatade är formatterade så att det är 5 siffror utan mellanslag.

Vill du göra det snyggare så man man först söka på exakt matchning (5 tecken), därefter 4 tecken och till sist 3 tecken. Då får du bättre träffar längst upp.

PHP kan jag inte alls så det får du (eller någon annan) fixa.

Medlem sedan juli 20041 271 inlägg
#3

Ok, tack för ett snabbt svar.
Då vet jag på ett ungefär hur jag ska strukturera upp det.

Hur ser detta ut..

CREATE TABLE `postnummer` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `leverantor` varchar(50) NOT NULL default '',
  `adress` varchar(100) NOT NULL default '',
  `postnummer` varbinary(5) NOT NULL default '',
  `ort` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`),
  KEY `leverantor` (`leverantor`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Medlem sedan juli 200012 978 inlägg
#4

Tyvärr är inte postnummer en geografisk grej.
Det finns ingen samband mellan gränser.
Vissa hopp är inte logiska.

Medlem sedan juli 20041 271 inlägg
#5

Lasp skrev:

Tyvärr är inte postnummer en geografisk grej.
Det finns ingen samband mellan gränser.
Vissa hopp är inte logiska.

Nu förstår jag inte riktigt hur du menar? :x

Medlem sedan juli 200012 978 inlägg
#6

ett postnummer som börjar på 111 ligger rätt långt från ett med 222!

Medlem sedan juli 20041 271 inlägg
#7

Lasp skrev:

ett postnummer som börjar på 111 ligger rätt långt från ett med 222!

Jo, precis...
Hur kan jag lösa detta enklast då?

Tacksam för alla förslag.

Medlem sedan juli 20041 271 inlägg
#8

Fler tips och förslag tas tacksamt imot. ;)

Medlem sedan juli 200012 978 inlägg
#9

Jag vet inget som har en cirkulär omfattning.
En idé som jag har försökt jobba med när det gäller avgränsningar är riktnr och LKF koderna som finns i samband med postnr. Om man visste angränsande postnr i NOSV skulle man nog vara hjälpt lite grann. Till MapPoint finns det någon insert som har med de tre första siffrorna att göra.
Hur långt vill du nå? Vad är snittavstånd?
Det beror ju på om man leter efter livs, data, eller bilar.

Medlem sedan juli 20041 271 inlägg
#10

Lasp skrev:

Jag vet inget som har en cirkulär omfattning.
En idé som jag har försökt jobba med när det gäller avgränsningar är riktnr och LKF koderna som finns i samband med postnr. Om man visste angränsande postnr i NOSV skulle man nog vara hjälpt lite grann. Till MapPoint finns det någon insert som har med de tre första siffrorna att göra.
Hur långt vill du nå? Vad är snittavstånd?
Det beror ju på om man leter efter livs, data, eller bilar.

Cirka 3 mils avstånd låter väl rimligt?
Ang. det övriga du skrev kan jag bara säga "eh".

Medlem sedan juli 200012 978 inlägg
#11

OK Riktnr har sina geografiska områden. Ibland (för det mesta) kan man säga att ett postnummerområde har ett och samma riktnr.
Hoppen mellan dessa (riktnr) gör att man kan sammafoga vissa isärstående riktnr.
Län Kommun Församling s koder har jag till varje enskilt postNr, liksom gata väg och Nr.
Jag har försökt att skapa en bra referens i många år och har inte funnit ett bra sätt att knyta ihop slikt.
Förstod du den med Norr Öster Syd och Väster?
Har du kollat MapPoint eller är det för mycket överkurs?

Medlem sedan feb. 20002 300 inlägg
#12

Guldstrand skrev:

Cirka 3 mils avstånd låter väl rimligt?
Ang. det övriga du skrev kan jag bara säga "eh".

http://sv.wikipedia.org/wiki/Postnummer#Uppbyggnad

Det finns en viss logik i postnummer i hänseende på geografiskt läge och storlek på orter.

Om du kan något om grafteori så skulle du kunna tänka dig alla postnummer som en graf där intilliggande postnummer är ihopkopplade med varandra. Dock så tror jag en databas som innehåller denna graf blir väldigt stor och framförallt jobbig att ta fram. Om du dessutom vill ha möjlighet att begränsa sökningen till t.ex. en 3-mils radie så måste alla kopplingar i grafen viktas. Datat blir dessutom ännu jobbigare att ta fram!

Kan du inte begränsa dig till att söka efter leverantörer i angränsande län istället? Titta på blocket för ett exempel.

Medlem sedan juli 200012 978 inlägg
#13

Transportbolagen borde ju ha en typ av lista för avståndsindikering!

Medlem sedan juli 200012 978 inlägg
#14

Idag sprang jag på den här länken!
http://www.cartesia.se/templates/pages/StandardPage____43.aspx
Vet inte om det kan vara användbart

280 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
147 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)