Neuigkeiten:

still alive...

Hauptmenü

annähernde Suche

Begonnen von styla, 18. Oktober 2005, 14:55:19

Vorheriges Thema - Nächstes Thema

styla

Hi,
also ich habe was programmiert und möchte da eine Abfrage einbauen und zwar:
Es soll nach einer Postleitzahl gesucht werden und neben den exakten Daten sollen noch anliegende Orte erscheinen, also in der Art:
 

$sql = \"SELECT * FROM tab_daten WHERE plz= \'xxxxx\'\";

 
da sollen dann jetzt alle Einträge erscheinen die genau auf diesen Postleitzahlen bereich zutreffen, sowie noch weitere 20 die annähernd an der eingegeben Postleitzahl sind.
Wenn die Postleitzahl z.B. 47800 ist, soll er also alles ausgeben was bei plz unter 47800 steht und auch die einträge die annähernd an 47800 liegen, wie z.B. 47981 oder so.
 
Wie kann ich das realisieren, bzw. wie muss die SQL Abfrage sein.
 
Danke im Voraus,
mfg,
STyla

Die letzten beiden Ziffern weglassen, sollte gehen, oder?

N\' abend,
ich glaube sowas in der Art:
 

$sql = \"SELECT * FROM tab_daten WHERE plz= \'49384%\'\";

 
 
Habe längere Zeit kein MySQL gemacht, aber ich glaube das müsste funktionieren (untested!) Es werden nun alle Datensätze angezeigt, die in ihrer PLZ die Daten 49384 enthalten. Wenn du es weiter einschränken möchtest, dann mache die PLZ länger, wenn nicht, dann nimm ein paar Zahlen weg, damit du mehr Ergebnisse erhälst.
 
kOOni

raiser

müsste das nicht
 heissen
								

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


... Könnte sein, ja! Ich weiß es nicht mehr genau, aber die Richtung müsste stimmen /uploads/emoticons/icon_e_biggrin.gif.1a84f5257b36e14b36d04985314f877f.gif\" alt=\":-D\" />
 
kOOni

raiser

problem bei der lösung ist nur, das er alle ergebnisse bekommt, die xxxx\"%\" hat.
er kann dort nicht sagen, gib mir von xxxxx +/- 20 ergo sprich 40 ergebnisse aus.
dazu muesste er vorher die eingegebene plz einmal mit -20 und einmal +20 nehmen
 

\'$l_plz\' and plz

 
weis nun nur nicht, wenn er die plz als char gespeichert hat, was da passiert?? /uploads/emoticons/icon_e_sad.gif.cc8ba2b6b966c5e020020efa47702aab.gif\" alt=\":(\" />

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


raiser

hab gerade mal versucht....
sollte gut gehen. er muss ja normal die plz als char anlegen,
weil bei einer 0-stelle vorn, als int, wuerde diese ja gelöscht....

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


lord_of_chaos

Hört sich venrünftig an...
http://www.gmod.de\" rel=\"external nofollow\">http://www.gmod.de

milindur

neben den exakten Daten sollen noch anliegende Orte erscheinen[/quote]
Definiere doch mal \"anliegende Orte\"?

...


Original von Milindur
neben den exakten Daten sollen noch anliegende Orte erscheinen[/quote]
Definiere doch mal \"anliegende Orte\"?
[/quote]
Ich denke mal, die Orte, die Postleitzahlmäßig (Nummernwert) n-höher und n-tiefer liegen, anders ja nicht möglich...die mit gleicher wirft er ja sowieso aus.

milindur


Original von Stibie

Original von Milindur
neben den exakten Daten sollen noch anliegende Orte erscheinen[/quote]
Definiere doch mal \"anliegende Orte\"?
[/quote]
Ich denke mal, die Orte, die Postleitzahlmäßig (Nummernwert) n-höher und n-tiefer liegen, anders ja nicht möglich...die mit gleicher wirft er ja sowieso aus.
[/quote]
Eben, das meine ich ja. Nur mit den PLZ kann man nur zahlenmäßig in der Nähe liegende Orte bekommen. Das ist aber keine sichere Methode, um Orte zu erhalten, die räumlich in der Nähe liegen. Sollte aber genau dies erwünscht sein, dann führen die bisherigen Überlegungen nicht zum Ziel. Okay, das hat jetzt natürlich nichts mehr mit (My)SQL zu tun, ich wollte es nur anmerken...

styla

Hi,
erstmal danke für eure Antworten.
Ich werde morgen alles mal ausprobieren, hört sich ja nicht schlecht an.
@Millindur
Was würdest du sonst vorschlagen sollte ich machen ?
mfg
STyla

milindur


Original von STyla @Millindur
Was würdest du sonst vorschlagen sollte ich machen ?
[/quote]
Naja, wenn Du räumliche Nähe möchtest, dann kommst Du mit den reinen PLZ nicht weiter. Da müsstest Du mal bei dem OpenGeoDB-Projekt nachsehen. Dort gibt es eine Datenbank mit PLZ, Ortsnamen und Koordinaten. Beispiel-Skripte haben die auch.

...

Hab mal geguckt, gibt es ne nette Klasse...könntest ja einen Radius definieren, indem die Orte liegen (Koordinaten) und dann das mit den PLZ abgleichen...

raiser


Original von STyla da sollen dann jetzt alle Einträge erscheinen die genau auf diesen Postleitzahlen bereich zutreffen, sowie noch weitere 20 die annähernd an der eingegeben Postleitzahl sind.
[/quote]
er will ja auch nicht die umliegenden orte, sondern, der plz aehnliche....

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


all your base are belong to us