| 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! |
 |
|

03-07-2010, 04:17
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
kann sein weil ich noch f5 drücke .. ups :  mache ich nie wieder ... sorry
PHP-Code:
SELECT NULL as "Bundesland", plz.text_val AS "PLZ", name.text_val AS "Ort", NULL 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 name.text_val, NULL, NULL, locations.loc_id 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 '$eingabe%'
also so wäre derzeit der mysql code und es fehlen die Bundesländer anhand der Orte oder der PLZ
Geändert von fair2 (03-07-2010 um 04:53 Uhr)
Grund: Moderator will das so :D
|

03-07-2010, 04:23
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von fair2
kann sein weil ich noch f5 drücke .. ups :  mache ich nie wieder ... sorry
|
Nein, ich meine damit, dass du einen Satz abschickst und gleich nachher noch einen. Wenn dir noch was einfällt, bearbeite den Beitrag.
Edit: Boah, schon wieder!
Edit2: Du musst die Dummy-Spalten verwenden, wenn das Bundesland nicht in der Ortsspalte drin stehen soll. Hab ich dir schon mehrmals gesagt. Sieh dir die Spaltenreferenzen mit den null-Werten in meiner (zwar falsch gejointen) Union-Abfrage an.
Edit3:
Zitat:
Zitat von fair2
also so wäre derzeit der mysql code und es fehlen die Bundesländer anhand der Orte oder der PLZ
|
Das musst du in die obere Teilabfrage (vor dem Union) mit reinjoinen – ich glaube, das geht über die geodb_hierarchies, aber wie gesagt: ich kann es nicht testen.
Du darfst jetzt gerne auch wieder den Antworten-Button benutzen.
__________________
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! 
Geändert von AmicaNoctis (03-07-2010 um 05:00 Uhr)
|

03-07-2010, 13:23
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
also den mysql zugang kann ich dir ja geben
und die hirachies benötigt man dazu nicht...
denn meine Query kann ja die Bundesländer anhand des Namens auslesen ...
aber der Zusammenhang fehlt... o0
Sie haben Post
Geändert von fair2 (03-07-2010 um 14:03 Uhr)
Grund: ich will das so
|

03-07-2010, 14:09
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von fair2
also den mysql zugang kann ich dir ja geben 
|
Danke erstmal, das hilft mir, etwas klarer zu sehen.
Zitat:
Zitat von fair2
die hirachies benötigt man dazu nicht...
|
Dooooch, hab's grad probiert, damit geht es.
Zitat:
Zitat von fair2
denn meine Query kann ja die Bundesländer anhand des Namens auslesen ...
aber der Zusammenhang fehlt...
|
Ach was, rat mal warum...
__________________
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, 14:12
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
tja das weißt nur du... sehe bei der opengeodb nicht so recht durch ...
hmm keiner mehr da?
Geändert von fair2 (03-07-2010 um 21:16 Uhr)
Grund: Mod will das SO
|

04-07-2010, 01:10
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Sorry, dass ich erst jetzt antworte, aber ich war heute den ganzen Tag nicht da.
Dort wo in der geodb_hierarchies die loc_id deines Ortes in der Spalte loc_id steht, findest du in der Spalte id_lvl3 die loc_id des Bundeslandes. Also ganz einfach.
__________________
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! 
|

04-07-2010, 01:18
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
für dich ja, für mich als geoDB Horst .. nicht ..
der Haken ist ja, das ich 1. alle Bundesländer mit dem Suchwort ausgeben will zusätzlich die Städte und dann noch die PLZ...aber wenn ein Ort gefunden wurde dann brauch ich zu dem auch das Bundesland
p.s. ja war auch saugeiles wetter .. und fanmeile musste ich ja auch noch ^^
Geändert von fair2 (04-07-2010 um 01:20 Uhr)
Grund: habs vergessen
|

04-07-2010, 01:32
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von fair2
das ich 1. alle Bundesländer mit dem Suchwort ausgeben will
|
Das macht ja der zweite Teil der Abfrage nach dem Union. Der kann auch so bleiben.
Zitat:
Zitat von fair2
zusätzlich die Städte und dann noch die PLZ...
|
Das ist der erste Teil vor dem Union, ...
Zitat:
Zitat von fair2
aber wenn ein Ort gefunden wurde dann brauch ich zu dem auch das Bundesland
|
... den du dafür nur noch mit einen Join anhand der loc_id auf geodb_hierarchies und von dort anhand der id_lvl3 wieder zurück auf geodb_textdata (loc_id) joinst.
__________________
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! 
Geändert von AmicaNoctis (04-07-2010 um 01:40 Uhr)
|

04-07-2010, 01:42
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
Bahnhof .... tuuut.. .ich versteh kein Wort... o0 ...
PHP-Code:
LEFT JOIN geodb_hierarchies hi ON hi.loc_id = plz.loc_id LEFT JOIN geodb_textdata bundesland ON bundesland.loc_id = hi.id_lvl3
Zitat:
SELECT NULL as "Bundesland", plz.text_val AS "PLZ", name.text_val AS "Ort", NULL
FROM geodb_textdata plz, geodb_textdata name
LEFT JOIN geodb_hierarchies hi ON hi.loc_id = plz.loc_id
LEFT JOIN geodb_textdata bundesland ON bundesland.loc_id = hi.id_lvl3
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 name.text_val, NULL, NULL, locations.loc_id
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 '$eingabe%'
|
Zitat:
MySQL meldet:
Unknown column 'plz.loc_id' in 'on clause'
|
Bitte nicht schlagen
Geändert von fair2 (04-07-2010 um 01:51 Uhr)
Grund: oder so?
|

04-07-2010, 01:44
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Sieht erstmal richtig aus, hast du es schon eingebaut und getestet?
__________________
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! 
|

05-07-2010, 04:30
|
|
fair2
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Ort: Germany
Beiträge: 45
|
|
SELECT bundesland.text_val as "Bundesland", plz.text_val AS "PLZ", name.text_val AS "Ort", NULL
FROM geodb_textdata plz
LEFT JOIN geodb_textdata name ON name.loc_id = plz.loc_id
LEFT JOIN geodb_hierarchies hi ON hi.loc_id = plz.loc_id
LEFT JOIN geodb_textdata bundesland ON bundesland.loc_id = hi.id_lvl3
WHERE
plz.text_type =500300000
AND name.text_type =500100000
AND bundesland.text_type =500100000
AND (plz.text_val like 'bay%' or name.text_val like 'bay%')
UNION
SELECT name.text_val, NULL, NULL, locations.loc_id
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 'bay%'
Geändert von fair2 (05-07-2010 um 04:49 Uhr)
Grund: hey das geht
|

05-07-2010, 04:41
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Du liest sie nicht aus  Das
Code:
NULL as "Bundesland"
verhindert das. Außerdem muss der text_type von bundesland in der Where-Klausel noch eingeschränkt werden (analog zu dem von name).
__________________
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
|