Datenbankabfrage automatisch generieren??

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

  • Datenbankabfrage automatisch generieren??

    Hallo,

    lässt sich folgendes realisieren?

    Ich will benutzerdefinierte Abfragen erstellen.
    Stelle mir das ungefähr so vor:

    Man hat ein Eingabe Formular, auf dem man auswählen kann, welche Informationen man gerne hätte. Daraus generiert sich dann eine SQL-Abfrage und das Ergebnis soll in einer HTML-Tabelle ausgegeben werden.

    Wie ich das ungefähr verwirklichen kann, wenn ich nur eine einzige Tabelle habe, dass kann ich mir in etwas vorstellen. Meine Datenbank erstreckt sich aber über viele Tabellen, die unterschiedlich miteinander verknüpft sind. (Zur Info, ich arbeite mit einer Oracle-DB)

    Da ich noch nicht sehr in PHP bewandert bin, hoffe ich hier Hilfe zu finden. Über Lösungsvorschläge und -ansätze wäre ich sehr dankbar.

    Gruß, cerry

  • #2
    wenn du php noch nicht kannst, ist das sehr schlecht. denn genau das brauchst du nämlich, um die formularübergaben auszuwerten, um entsprechend die korrekten queries zu generieren.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hallo,

      dann frage ich mal so. Könnte mein Wissen ausreichen?

      Ich denke ich weiß auf jeden Fall, wie ich mit den Session-Variablen umgehe. Dann bräuchte ich für das automatische generieren auf jeden Fall noch Abfragen, ob Variablen gesetzt sind oder nicht. Dann kann ich auf jeden Fall Tabellen abfragen (wenn ich das SQL-Statement von Hand schreibe).

      Jetzt bräuchte ich nur noch ein Ansatz, wie ich es schaffen könnte, wenn es mehrere Tabellen sind. Um genau zu sein, weiß ich nicht, wie ich die Verknüpfungen der Tabellen einbauen muss.

      Kann ich vorher schon sagen, dass wenn zwei bestimmte Tabellen miteinandern verknüpft sind, muss folgendes dem SQL-Statement zugefügt werden?

      Beispiel:

      Der Anwender will aus der Datenbank die Information "Name" und "Beruf".
      Beide sind in verschiedenen Tabellen. Dabei ist in der Tabelle "Mitglieder" die Namen aufgelistet und dann noch die ID der Berufe. Die Tabelle "Berufsbezeichnung" enthält dann eben eine ID und die einzelnen Berufe.

      Eigentlich müsste ja das SQL-Statement so aussehen.

      SELECT m.Name, b.Beruf FROM Mitglieder m, Berufsbezeichnung b
      WHERE m.Beruf = b.ID

      Muss ich jetzt um das so hin zubekommen, dann lauter if-Bedingungen schreiben, wo ich dann sage, dass wenn dies und jenes angeklickt ist, soll er zu dem Statement folgendes hinzufügen. Oder geht das auch anders?

      Gruß, cerry

      Kommentar


      • #4
        wenn du weisst, was der user will, und du auch weisst in welcher tabelle die information zu finden ist, dann kannst du auch entsprechend mit php den code für die query erstellen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Hallo,

          wenn ich dich richtig verstehe, muss ich dann wirklich für alle Eventualitäten eine if-Abfrage erstellen?

          Es kann ja vielleicht sein, dass so etwas schneller geht, oder auch schon vorgefertigte Skripte irgendwo gibt, die man nur anpassen muss.
          Ich habe nur fast 20 Tabellen, und möchte daher die Abfrage so einfach, als möglich gestalten.

          Gruß, cerry

          Kommentar


          • #6
            vielleicht macht es auch mal sinn, dass du dir deine tabellenstrukturen und aufteilung noch einmal überlegst. es kann in der tat nicht sein, dass du 20 tabellen einzeln prüfen musst, jenachdem was der user eingibt für eine suche.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Die Anwendung ist recht komplex, und ich sehe keine Möglichkeit meine Tabellenstruktur zu ändern.

              Es sind nicht alle Tabellen so groß, aber erst in ihrem jetztigen Zustand hat die Tabellenstruktur gegen keine Normalform mehr verstoßen.

              Es waren viele m:n-Beziehungen aufzulösen, und somit sind halt auch viele Verknüpfungen zustande gekommen, die ich ja bei der Abfrage alle beachten muss.

              Aber wenn es keine andere Möglichkeit gibt, dann werde ich doch für alles eine eigenen Abfrage schreiben müssen.

              Vielen Dank für deine Hilfe.

              Gruß, cerry

              Kommentar

              Lädt...
              X