Ankündigung

Einklappen
Keine Ankündigung bisher.

Suchfunktion für mehrere Datenbanktabellen

Einklappen

Neue Werbung 2019

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

  • Suchfunktion für mehrere Datenbanktabellen

    Hallo Community,

    ich möchte in meinem Browsergame eine Suchfunktion einbauen, um das ganze etwas übersichtlicherzu gestalten.

    Mein Problem ist, ich weiß nicht wie ich das genau aufbauen soll.
    Mal ein kleines Beispiel: Ich habe eine Tabelle mit allen 16 Bundesländern, dann eine Tabelle mit allen Landkreisen, dann eine Tabelle mit allen Gemeinden/Städten, eine Tabelle mit allen Dörfern und eine Tabelle mit allen Strassen in Deutschland.

    Wenn man jetzt in der Suche z.B. "Berlin" eingibt, soll da natürlich als erstes die Stadt, das Bundesland und der Landkreis dazuangezeigt werden, danach können z.B. Strassen kommen.
    Aber sollen jetzt für jede Suchanfrage alle Tabellen durchsucht werden oder würdet ihr das irgendwie anders machen. Und wie würdet ihr die abstufung machen, welches als erstes angezeigt wird (siehe oben: z.B. die Strassen als letztes)

    Würde mich auf eure Ideen freuen

    mfg Tobby


  • #2
    Stichwort JOIN ... viel mehr kann man dazu nicht sagen, außer dass du einfach in jeder Tabelle suchst was du eingibst ... ich weiß leider nicht wie deine DB Tabellen aufgebaut sind ... vielleicht könntest du ja die Struktur posten, auf jeden fall, müssen die Tabellen iwie verknüpft sein, also du musst iwie auf die Straßen / Landkreise kommen, aufgrund von einer Stadt ... ich hoffe du verstehst was ich meine ... weil Mysql weiß ja nicht welche Straßen in Berlin sind, und welches Bundesland dazugehört ...
    PHP-Code:
    if ( $humans >= ) {
       
    war ();

    Kommentar


    • #3
      Zitat von PhillKill12 Beitrag anzeigen
      Stichwort JOIN ... viel mehr kann man dazu nicht sagen, außer dass du einfach in jeder Tabelle suchst was du eingibst ... ich weiß leider nicht wie deine DB Tabellen aufgebaut sind ... vielleicht könntest du ja die Struktur posten, auf jeden fall, müssen die Tabellen iwie verknüpft sein, also du musst iwie auf die Straßen / Landkreise kommen, aufgrund von einer Stadt ... ich hoffe du verstehst was ich meine ... weil Mysql weiß ja nicht welche Straßen in Berlin sind, und welches Bundesland dazugehört ...
      Hi,
      wenn man alle Tabellen abrufen will, muss man JOIN verwenden, das is mir schon klar, aber ich wollt eben wissen, ob ihr das auch so machen würdet und obs da nicht vielleicht ne bessere Lösung gäbe.
      Und die einzelnen Tabellen sind natürlich verknüpft, z.B. der Landkreis ist den Bundesländern zugeordnet, das ist ja nicht das Problem.

      mfg Tobby

      Kommentar


      • #4
        Zitat von Tobby Beitrag anzeigen
        Und die einzelnen Tabellen sind natürlich verknüpft, z.B. der Landkreis ist den Bundesländern zugeordnet, das ist ja nicht das Problem.
        ah ok, dann würde ich einfach schauen, wo ich den Suchbegriff finde, also in welcher Tabelle, und dann gib ich diesen Datensatz aus ... danach kann man sagen, welche Suchergebnisse in welcher Reihenfolge ausgegeben werden sollen, z.b. stadt->landkreise->Bundesländer ... diese Reihenfolge kannst du felstlegen, jeh nach dem ob der Suchbegriff eine Stadt ist oder landkreis ...
        realisieren würde ich das folgender Maßen:
        1.) in allen Tabellen mal nach dem Suchbegriff suchen
        2.) aufgrund der Ergebnisse die Reihenfolge der ausgabe festlegen
        3.) ausgabe ...

        ich hoffe das hilft dir weiter ...
        PHP-Code:
        if ( $humans >= ) {
           
        war ();

        Kommentar


        • #5
          Zitat von PhillKill12 Beitrag anzeigen
          ah ok, dann würde ich einfach schauen, wo ich den Suchbegriff finde, also in welcher Tabelle, und dann gib ich diesen Datensatz aus ... danach kann man sagen, welche Suchergebnisse in welcher Reihenfolge ausgegeben werden sollen, z.b. stadt->landkreise->Bundesländer ... diese Reihenfolge kannst du felstlegen, jeh nach dem ob der Suchbegriff eine Stadt ist oder landkreis ...
          realisieren würde ich das folgender Maßen:
          1.) in allen Tabellen mal nach dem Suchbegriff suchen
          2.) aufgrund der Ergebnisse die Reihenfolge der ausgabe festlegen
          3.) ausgabe ...

          ich hoffe das hilft dir weiter ...
          Jo danke, letztendlich war meine Hauptfrage ja, ob ihr alle Tabellen durchlaufen würdet (was man ja immer muss) und ob man das bei jeder neuen Suchanfrage machen soll, oder ob man häufige Anfragen speichern sollte und wie man das speichert, ....
          Ich habe mich da vielleicht ein bisschen undeutlich ausgedrückt.
          Die Reihenfolge mach ich dann einfach, dass ich mir das irgendwo speicher.

          mfg Tobby

          Kommentar


          • #6
            das ganze hängt ganz davon ab, wie viele anfragen du so hast, d.h. wie groß deine Seite ist ... Aber ab Mysql 4 gibt es so und so einen Cache ... sonst [url=http://www.innodb.com/]InnoDB Website
            PHP-Code:
            if ( $humans >= ) {
               
            war ();

            Kommentar

            Lädt...
            X