Datenbankabfrage mit Variablenübergabe
Maik Pötschk
- php
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
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
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
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