Maik Pötschk: Datenbankabfrage mit Variablenübergabe

Hallo an alle,

ich habe vor ca. 1 Monat mit PHP und mySQL angefangen und viel Bücher und im Web gelesen (z.B. Anleitungen, Tutorials, Beispiele und Foren). Für Datenbankabfragen interessiere mich sehr besonders. Ich habe eine Formular für Abfrage erstellt und stehen zwei Optionsfelder "Art" und "Größe" zur Verfügung.

Beispiel, die ich die Abfrage realisieren möchte.

Art => Büro, Laden
Größe => 50 m², 100 m², 150 m², 200 m²

Wenn nach Grösse und Laden abgefragt wird, dann werden die Variablen übergegeben (<form action="ergebnis.php" method="post">) und dann alle bestimmten Datensätze ausgegeben. Ich habe viel Lösungen und Anleitungen aus Web geholt, aber geht immer nicht(Fehlermeldungen). Ich suche richtige Dokumentation für diese Datenbankabfrage in PHP & mySQL. Auch spezielle Programmierung z.B. wenn nach 100 m² abgefragt, dann ab 100 m² bis 149 m² anzeigen sowie wenn nur nach Größe (ohne Art), dann alle mit einer Größe abfragen bzw. wenn beide "alle", dann alles ausgeben. Es geht um Variablenübergabe von Optionsfelder und Programmierung von Eingabe von Abfragen sowie Auflistung der Datensätze.

Da ich ein ziemlicher PHP Anfänger bin. Aber bei mySQL sehe ich kein Problem.

Bis auf ihre Antworten sowie gute Tipps und Anleitungen.
Ich würde mich freuen, wenn ich mal eine komplette Lösung von Euch bekommen konnte.

Gruß Maik

  1. Hi,

    Wenn nach Grösse und Laden abgefragt wird, dann werden die
    Variablen übergegeben (<form action="ergebnis.php"
    method="post">) und dann alle bestimmten Datensätze ausgegeben.
    Ich habe viel Lösungen und Anleitungen aus Web geholt, aber geht
    immer nicht(Fehlermeldungen). Ich suche richtige Dokumentation
    für diese Datenbankabfrage in PHP & mySQL.

    guck mal hier:
    <../../sfarchiv/2000_1/t11542.htm#a58419>

    Da sind ca. 20 Links mit Docus und Tuts aufgelistet ,)

    Auch spezielle Programmierung z.B. wenn nach 100 m²
    abgefragt, dann ab 100 m² bis 149 m² anzeigen sowie wenn
    nur nach Größe (ohne Art), dann alle mit einer Größe
    abfragen bzw. wenn beide "alle", dann alles ausgeben. Es geht
    um Variablenübergabe von Optionsfelder und Programmierung von
    Eingabe von Abfragen sowie Auflistung der Datensätze.

    Naja, Optionsfelder werden als Skalare uebergeben. Wenn du
    z. B. wie oben zwei Felder hast,

    <input type="text" name="art">
    <input type="text" name="groesse">

    dann werden die Daten in den Skalaren $art und $groesse bereit
    gestellt.

    Und eine DB-Abfrage wie oben beschrieben geht doch im Grunde
    ohne weiteres, SQL-Abfrage muesste so aussehen:

    $groesse2 = $groesse + 50;
    $query_string = "SELECT * FROM apartments WHERE (art='$art') AND (groesse>='$groesse' AND groesse <= '$groesse2');";

    mfg
    CK1

    1. Naja, Optionsfelder werden als Skalare uebergeben. Wenn du
      z. B. wie oben zwei Felder hast,

      <input type="text" name="art">
      <input type="text" name="groesse">

      dann werden die Daten in den Skalaren $art und $groesse bereit
      gestellt.

      Und eine DB-Abfrage wie oben beschrieben geht doch im Grunde
      ohne weiteres, SQL-Abfrage muesste so aussehen:

      $groesse2 = $groesse + 50;
      $query_string = "SELECT * FROM apartments WHERE (art='$art') AND (groesse>='$groesse' AND groesse <= '$groesse2');";

      mfg
      CK1

      Vielen Dank und hat es super geklappt. Diese SQL-Abfrage hab' ich noch nie gesehen. Ich brauche noch spezielle PHP Programmierung.

      z.B. Wenn "$art" Optionfeld "alle" und "$groesse" Optionfeld "alle" abgefragt wird, dann soll alles aufgelistet werden. Auch
      $art Optionsfeld "alle" und nach einer Größe 250 m² abgefragt
      wird, dann soll alle mit einer Größe 250 m² aufgelistet werden.

      Auch die Meldung "Nichts gefunden" soll ausgegeben werden.

      Gruß Maik

      1. Hi, (<-- Begruessung)

        Vielen Dank und hat es super geklappt. Diese SQL-Abfrage hab'
        ich noch nie gesehen. Ich brauche noch spezielle PHP
        Programmierung.

        Dann schreibs doch einfach.

        z.B. Wenn "$art" Optionfeld "alle" und "$groesse"
        Optionfeld "alle" abgefragt wird, dann soll alles
        aufgelistet werden. Auch $art Optionsfeld "alle" und
        nach einer Größe 250 m² abgefragt wird, dann soll
        alle mit einer Größe 250 m² aufgelistet werden.

        Auch die Meldung "Nichts gefunden" soll ausgegeben werden.

        Ich glaub, du hast das was missverstanden. Ich wollte dir einen
        Ansatz geben, damit du siehst, wie SQL funzt - ich wollte dir
        nicht kostenlos deine Scripts schreiben.

        Also, nochmal extra fuer dich: Das Forum ist dazu da, eine Frage
        zu stellen, wenn man mal nicht weiterkommt, nicht dazu, dass man
        sich hier seine Scripts nach und nach zusammenfragt.

        mfg
        CK1