openGEO DB

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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_idname.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

  • #2
    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
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      So dann fange ich mal an

      100300000 = Bundesland
      500300000 = PLZ
      500100000 = Name


      PHP-Code:
      SELECT locations.loc_idname.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
      Zuletzt geändert von AmicaNoctis; 03.07.2010, 03:42. Grund: Doppelposting

      Kommentar


      • #4
        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?
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Ich will anhand plz oder ort oder bundesland folgende Ergebnisse bekommen:

          plz, ort, bundesland

          derzeit bekomme ich ja nur das Bundesland

          Kommentar


          • #6
            Also wenn du nach einem Bundesland suchst, willst du alle darin liegenden Orte mit PLZ finden?
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              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

              Kommentar


              • #8
                Zitat von fair2 Beitrag anzeigen
                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 von fair2 Beitrag anzeigen
                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?
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9
                  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

                  Kommentar


                  • #10
                    Zitat von fair2 Beitrag anzeigen
                    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.

                    Kommentar


                    • #11
                      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.
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        der Kandidat hat 100 Punkte... bzw. Bay / bay enthalten

                        Kommentar


                        • #13
                          Zitat von fair2 Beitrag anzeigen
                          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.
                          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                          Super, danke!
                          [/COLOR]

                          Kommentar


                          • #14
                            PHP-Code:
                            SELECT plz.text_val as "PLZ"name.text_val as "Ort"
                                
                            FROM geodb_textdata plzgeodb_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 ..
                            Zuletzt geändert von AmicaNoctis; 03.07.2010, 03:43. Grund: Doppelposting

                            Kommentar


                            • #15
                              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.
                              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                              Super, danke!
                              [/COLOR]

                              Kommentar

                              Lädt...
                              X