JohnnyJohnzon
Grünschnabel
Hallo Forumler,
Ich hoffe ihr könnt mir hier weiterhelfen, ich habe schon gesucht konnte aber nichts finden, vielleicht bin ich ja auch einfach nur zu blöd die Suche richtig zu nutzen. Ich beschäftige mich noch nicht lange mit der ganzen Materie und stoße nun auf ein Problem.
Ich habe eine Tabelle buecher.
id, lagernummer, themengebiet, titel, autor, verlag, erscheinungjahr, isbn
In dieser Tabelle sind in den Feldern themengebiet, autor und verlag die jeweiligen id-Nummern aus anderen Tabellen gespeichert.
Ein Formular in der die User den standort, Suchwort und isbn eingeben können und drei auswahllisten in der die User den Autor, das Themengebiet und den Verlag auswählen können. Dieses Formular übergibt mir die Variablen:
lagernummer -> die eingegebene Nummer im Feld standort
titel -> das eingegebebene Wort im Feld Suchwort
isbn -> die eingegegebene Nummer im Feld isbn
themengebiet -> die id des entsprechenden Themas
autor -> die id des entsprechenden Autors
verlag -> die id des entsprechenden Verlages
Soweit funktioniert das ganze auch. Das Problem ist das ich nicht weiß wie ich den Select den ich zur Tabelle schicke richtig gestalte damit ich auch die richtigen Ergebnisse angezeigt bekomme. Ich habe es mit folgendem versucht:
SELECT * FROM buecher WHERE (lagernummer LIKE '$%lagernummer%') AND (titel LIKE '%$titel%') AND (themengebiet LIKE '%$themengebiet%') AND (autor LIKE '%$autor%') AND (verlag LIKE '%$verlag%') AND (isbn LIKE '%$isbn%')
Nur das kann es ja noch nicht sein, die Ausgabe entspricht nicht dem gewünschten Ergebnis. Wenn ich jetzt ein Thema auswähle das die id 1 hat werden mir diese angezeigt aber auch themen die z.b. die id 12 oder 14 oder was auch immer haben. Dieses ist natürlich auch bei den anderen Feldern die eine Id übermitteln der Fall. Außerdem gibt es jede Lagernummer ja nur einmal das heißt wenn ich 111 111 111 1 angeben würde, dann dürfte ich ja nur ein Buch angezeigt bekommen und nicht auch noch das Buch das vielleicht die lagernummer 111 111 111 11 hat. Muss ich vielleicht erst eine Abfrage machen nach dem Motto, wenn Feld1 und Feld2 nicht leer und alle anderen Felder leer sind dann mache folgendes, also alle möglichen Eingabekombinationen des Suchformulares abfragen und dann ensprechend handeln?
Ich suche also nach einer Lösung wie ich es hinbekomme das mir auch immer nur exakt die Bücher ausgegeben werden die mit ALLEN vorher in das Suchformular eingegebenen Werten übereinstimmen.
Kann mir jemdand einen Tipp geben wie soetwas gelöst wird? Ich hoffe mein Problem, zumindest ist es für mich als Anfänger ein Problem, wurde einigermaßen verständlich. Damit ihr euch das ganze besser vorstellen könnt habe ich ein Screenshot vom Formular und vom Quelltext online gestellt zum Screenshot (ich hoffe das verstößt nicht gegen die Forumsregeln).
Ich hoffe es gibt mir jemand einen Tipp wie ich das ganze lösen kann.
Mfg
Johnny
Ich hoffe ihr könnt mir hier weiterhelfen, ich habe schon gesucht konnte aber nichts finden, vielleicht bin ich ja auch einfach nur zu blöd die Suche richtig zu nutzen. Ich beschäftige mich noch nicht lange mit der ganzen Materie und stoße nun auf ein Problem.
Ich habe eine Tabelle buecher.
id, lagernummer, themengebiet, titel, autor, verlag, erscheinungjahr, isbn
In dieser Tabelle sind in den Feldern themengebiet, autor und verlag die jeweiligen id-Nummern aus anderen Tabellen gespeichert.
Ein Formular in der die User den standort, Suchwort und isbn eingeben können und drei auswahllisten in der die User den Autor, das Themengebiet und den Verlag auswählen können. Dieses Formular übergibt mir die Variablen:
lagernummer -> die eingegebene Nummer im Feld standort
titel -> das eingegebebene Wort im Feld Suchwort
isbn -> die eingegegebene Nummer im Feld isbn
themengebiet -> die id des entsprechenden Themas
autor -> die id des entsprechenden Autors
verlag -> die id des entsprechenden Verlages
Soweit funktioniert das ganze auch. Das Problem ist das ich nicht weiß wie ich den Select den ich zur Tabelle schicke richtig gestalte damit ich auch die richtigen Ergebnisse angezeigt bekomme. Ich habe es mit folgendem versucht:
SELECT * FROM buecher WHERE (lagernummer LIKE '$%lagernummer%') AND (titel LIKE '%$titel%') AND (themengebiet LIKE '%$themengebiet%') AND (autor LIKE '%$autor%') AND (verlag LIKE '%$verlag%') AND (isbn LIKE '%$isbn%')
Nur das kann es ja noch nicht sein, die Ausgabe entspricht nicht dem gewünschten Ergebnis. Wenn ich jetzt ein Thema auswähle das die id 1 hat werden mir diese angezeigt aber auch themen die z.b. die id 12 oder 14 oder was auch immer haben. Dieses ist natürlich auch bei den anderen Feldern die eine Id übermitteln der Fall. Außerdem gibt es jede Lagernummer ja nur einmal das heißt wenn ich 111 111 111 1 angeben würde, dann dürfte ich ja nur ein Buch angezeigt bekommen und nicht auch noch das Buch das vielleicht die lagernummer 111 111 111 11 hat. Muss ich vielleicht erst eine Abfrage machen nach dem Motto, wenn Feld1 und Feld2 nicht leer und alle anderen Felder leer sind dann mache folgendes, also alle möglichen Eingabekombinationen des Suchformulares abfragen und dann ensprechend handeln?
Ich suche also nach einer Lösung wie ich es hinbekomme das mir auch immer nur exakt die Bücher ausgegeben werden die mit ALLEN vorher in das Suchformular eingegebenen Werten übereinstimmen.
Kann mir jemdand einen Tipp geben wie soetwas gelöst wird? Ich hoffe mein Problem, zumindest ist es für mich als Anfänger ein Problem, wurde einigermaßen verständlich. Damit ihr euch das ganze besser vorstellen könnt habe ich ein Screenshot vom Formular und vom Quelltext online gestellt zum Screenshot (ich hoffe das verstößt nicht gegen die Forumsregeln).
Ich hoffe es gibt mir jemand einen Tipp wie ich das ganze lösen kann.
Mfg
Johnny
Zuletzt bearbeitet: