Hallo Andreas,
Das eigentliche problem stellt gleub ich nicht die Ermittlung des Bundeslandes anhand der PLZ dar, das schaffe ich schon mit ner netten Funktion und den besagten Ifs, sollte so recht flott sein. Aber was ich noch brauche:
Ich habe eine Tabelle mit Adressen, unter anderem mit PLZ, aber ohne Bundesland. Und jetzt will ich aus der Tabelle(Mysql) per SQL Select alle Datensätze abfragen, deren PLZ bspw. in Sachsen liegt. Jetzt habe ich die Daten zu Sachsen wie folgt vorliegen(nicht vollständig und korrekt, Excel hat da wieder zu viel korrigiert, geht jetzt aber ums Prinzip!):
01067 - 01936 SN
2 SN
8 SN
9 SN
04639 SN
04103 - 04579 SN
04643 - 04889 SN
SELECT FROM adressen WHERE plz>=01067 AND plz<=01936 OR plz>=20000 AND plz<=29999.....
Da fehlt aber noch ne Menge, das wird also ne Mammut Abfrage. Was ist davon zu halten? Sollte ich evtl 6 SQL-Abfragen "fertig" machen, denn dynamisch dürfte das nicht einfach sein, oder?
Bin etwas ratlos. Die Tabelle für alle Bundesländer hat nämlich 220 Zeilen wie oben, also würden das 16 wirklich komplexe Abfragen!
Dachte da auch an was mit einem Array, das ich die Zahelen alle in einen Array schreibe, aber wie soll ich das dann aus der DB abfragen? Jedesmal mit 500 ORs?
Wie würdet ihr das machen?
Weisst jetzt nicht ob ich Dich richtig verstanden hab.
Du hast eine Tabelle mit den Adressen (name, stasse, plz, ort, ...) und eine Tabelle mit den Postleitzahlen (plz, bundesland, ...)
Dann bekommst Du alle Adressen aus Sachsen im Prinzip so (habs mir nur mal so überlegt, noch nicht ausprobiert)
select name, strasse, plz, ort from adressen where plz in (select plz from postleitzahl where bundesland='sn')
Hoffe, das hilft Dir weiter
viele Grüsse
Kerstin