| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

02-07-2010, 21:57
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
openGEO DB
Hallo Leute,
ich bin zwar nicht auf den Kopf gefallen aber ich schaffe es nicht aus der GeoDB
anhand plz oder ort oder bundesland die jeweiligen Ausgaben auszugeben♠
PLZ :
ORT:
BUNDESLAND:
Vielleicht kann mir mal einer ne kleine Hilfe geben?
PHP-Code:
SELECT locations.loc_id, name.text_val,plz.text_val FROM geodb_locations locations
LEFT JOIN geodb_textdata name ON name.loc_id = locations.loc_id
LEFT JOIN geodb_textdata plz ON plz.loc_id = locations.loc_id
WHERE
(loc_type = 100300000 AND name.text_type = 500100000) AND (loc_type = 100800000 AND plz.text_type = 500100000)
|

02-07-2010, 23:57
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
da ich nicht jeden Tag mit OpenGeoDB rummache und das letzte Mal schon eine Weile her ist, wäre es nett, wenn du das noch etwas besser erläutern könntest, z. B. auch, was die verwendeten Typnummern gleich nochmal bedeuten.
Was meinst du genau mit den „jeweiligen Ausgaben“?
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-07-2010, 01:14
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
So dann fange ich mal an
100300000 = Bundesland
500300000 = PLZ
500100000 = Name
PHP-Code:
SELECT locations.loc_id, name.text_val
FROM geodb_locations locations
LEFT JOIN geodb_textdata name ON name.loc_id = locations.loc_id
WHERE loc_type = 100300000
AND name.text_type = 500100000
AND name.text_val LIKE '%".$bundesland."%'
derzeit lese ich so die Bundesländer aus
Geändert von AmicaNoctis (03-07-2010 um 03:42 Uhr)
Grund: Doppelposting
|

03-07-2010, 01:55
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von fair2
derzeit lese ich so die Bundesländer aus
|
Okay, aber was ist jetzt konkret das Problem? Was willst du machen, welches Resultat erwartest und welches bekommst du?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-07-2010, 02:03
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
Ich will anhand plz oder ort oder bundesland folgende Ergebnisse bekommen:
plz, ort, bundesland
derzeit bekomme ich ja nur das Bundesland
|

03-07-2010, 02:05
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Also wenn du nach einem Bundesland suchst, willst du alle darin liegenden Orte mit PLZ finden?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-07-2010, 02:10
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
Nein ich will eine Suche machen die wenn ich Zahlen eingebe nur mit der PLZ sucht aber dann folgende Ausgaben macht: plz, ort, bundesland
wenn ich Buchstaben eingebe soll er anhand des bundeslandes oder des ortes dann folgende Ausgaben ausgeben: plz, ort, bundesland
|

03-07-2010, 02:23
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von fair2
ich will eine Suche machen die wenn ich Zahlen eingebe nur mit der PLZ sucht aber dann folgende Ausgaben macht: plz, ort, bundesland
|
Diesen Teil verstehe ich.
Zitat:
Zitat von fair2
wenn ich Buchstaben eingebe soll er anhand des bundeslandes oder des ortes dann folgende Ausgaben ausgeben: plz, ort, bundesland
|
Hier sehe ich noch nicht ganz durch bei „anhand des bundeslandes“. Heißt das, man hat schon ein Bundesland vorausgewählt, wenn man die Buchstaben für den Ort angibt? Wenn ja, wie liegt es vor – nur als Name oder als loc_id?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-07-2010, 02:43
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
es wird durch eine autovervollständigung gesucht .. also wenn man 3 zeichen z.B. bay dann soll da bayern kommen aber auch orte mit by ... und die dazugehörigen plz´s
|

03-07-2010, 02:48
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von fair2
also wenn man 3 zeichen z.B. bay dann soll da bayern kommen aber auch orte mit by ... und die dazugehörigen plz´s
|
Also entweder Bundesland, dass mit „bay...“ beginnt, oder/und Orte, die mit „bay...“ beginnen; aber nicht alle Orte, die im Bundesland „bay...“ liegen?
Das wollte Amica wohl primär wissen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

03-07-2010, 03:00
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Dann würde ich über textdata suchen und einen Self Join in Abhängigkeit vom loc_type machen:
loc_type Bundesland: nicht joinen
loc_type PLZ: Self Join über gleiche loc_id und loc_type = Ort
loc_type Ort: Self Join über gleiche loc_id und loc_type = PLZ
Dann hast du (außer bei der letzten Variante) nur noch Equi-Joins, was sich in der Performance deutlich bemerkbar machen sollte.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-07-2010, 03:01
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
der Kandidat hat 100 Punkte... bzw. Bay / bay enthalten
|

03-07-2010, 03:06
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von fair2
der Kandidat hat 100 Punkte... bzw. Bay / bay enthalten
|
Die sollte man schon dafür bekommen, dass man dieses Thema trotz der dürftigen Problembeschreibung aufgreift und dir die nachträglich aus der Nase ziehen muss.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-07-2010, 03:07
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
PHP-Code:
SELECT plz.text_val as "PLZ", name.text_val as "Ort" FROM geodb_textdata plz, geodb_textdata name WHERE name.loc_id=plz.loc_id AND plz.text_type=500300000 /* PLZ */ AND name.text_type=500100000 /* NAME */ ORDER by 2;
damit lese ich die Orte und die dazugehörige PLZ aus oder umgekehrt
sorry hatte ganz vergessen ... zu sagen das mit dem autocomplete... ups ..
Geändert von AmicaNoctis (03-07-2010 um 03:43 Uhr)
Grund: Doppelposting
|

03-07-2010, 03:25
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
So geht's auch, dann hast du doch alles und musst es nur noch zusammenbringen:
Code:
SELECT NULL AS "Bundesland", plz.text_val AS "PLZ", name.text_val AS "Ort"
FROM geodb_textdata plz, geodb_textdata name
WHERE name.loc_id = plz.loc_id
AND plz.text_type =500300000
AND name.text_type =500100000
AND (plz.text_val like '$eingabe%' or name.text_val like '$eingabe%')
UNION
SELECT text_val, NULL , NULL
FROM geodb_textdata
WHERE text_type =100300000
AND text_val like '$eingabe%'
oder halt anders herum, wenn du erst die Bundesländer haben willst.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|