Hi Leute,
habe ein Problem: Ich habe eine Tabelle in der der Benutzer aus jeweils einer Spalte einer Dropdownliste einen Wert (entweder false bei 'keiner Auswahl' oder ein Wert aus der jeweiligen Spalte) zuweisen kann und diese Tabelle dann nach den gewünschten Werten aus den DDl filtern kann. Soweit so gut
Bei 2 DDL ist das noch nicht so aufwendig, also 2^2 verschiedene if Abfragen um zu wissen bei welcher DDL ein Wert ausgewählt wurde( da eine einzelne SQL Abfragen nicht funktioniert, wenn eine DDL nicht ausgewählt wurde)
Nun zu meinem eigentlichen Problem: Nun möchte ich nun nach den 5 Variablen filtern...was bedeuten würde, dass ich 32 if Abfragen schreiben müsste. Eine sehr unschöne Lösung wie ich finde, zumal man nur schwer eine Variable ernfernen/hinzufügen kann.
Hat jemand vielleicht eine bessere Idee anstatt der 32 if Abfragen. Kann man die SQL Abfragen nicht anders nach der Auswahl modifizieren. Mit einer Schleife oder ähnliches?
Schonmal vielen Dank für eure Hilfe
habe ein Problem: Ich habe eine Tabelle in der der Benutzer aus jeweils einer Spalte einer Dropdownliste einen Wert (entweder false bei 'keiner Auswahl' oder ein Wert aus der jeweiligen Spalte) zuweisen kann und diese Tabelle dann nach den gewünschten Werten aus den DDl filtern kann. Soweit so gut
Bei 2 DDL ist das noch nicht so aufwendig, also 2^2 verschiedene if Abfragen um zu wissen bei welcher DDL ein Wert ausgewählt wurde( da eine einzelne SQL Abfragen nicht funktioniert, wenn eine DDL nicht ausgewählt wurde)
Nun zu meinem eigentlichen Problem: Nun möchte ich nun nach den 5 Variablen filtern...was bedeuten würde, dass ich 32 if Abfragen schreiben müsste. Eine sehr unschöne Lösung wie ich finde, zumal man nur schwer eine Variable ernfernen/hinzufügen kann.
Hat jemand vielleicht eine bessere Idee anstatt der 32 if Abfragen. Kann man die SQL Abfragen nicht anders nach der Auswahl modifizieren. Mit einer Schleife oder ähnliches?
Schonmal vielen Dank für eure Hilfe
PHP-Code:
$name=$_POST["name"];
$problemkategorie= $_POST["problemkategorie"];
$betreff= $_POST["betreff"];
$stufe= $_POST["stufe"];
$stand = $_POST["stand"];
$datum= $_POST["datum"];
$id = $_POST["id"];
//Auswahl für Filter name und problemkategorie, reihenfolge der ifs
// entscheidend: 1. beide gesetzt und dann jeweils nur einer
if ($name !="false" && $problemkategorie !="false" ) {
$abfrage="SELECT name AS Benutzername, problemkategorie AS Problemkategorie, betreff AS Problem, beschreibung AS
Problembeschreibung, kommentar AS Kommentar,stufe AS Stufe,
stand AS Status, datum AS Datum, id FROM anfrage WHERE name='$name' AND problemkategorie='$problemkategorie'
AND stand='offen'
ORDER BY '$sortiert' ASC";
$abfrage2="SELECT name, problemkategorie, betreff,
beschreibung,kommentar, stufe , stand, datum, id FROM anfrage
WHERE problemkategorie='$problemkategorie' AND name='$name' AND stand='offen'
ORDER BY '$sortiert' ASC";
break;
}
if ($problemkategorie=="false") {
$abfrage="SELECT name AS Benutzername, problemkategorie AS Problemkategorie, betreff AS Problem, beschreibung AS
Problembeschreibung, kommentar AS Kommentar,stufe AS Stufe,
stand AS Status, datum AS Datum, id FROM anfrage WHERE name='$name' AND stand='offen'
ORDER BY '$sortiert' ASC";
$abfrage2="SELECT name, problemkategorie, betreff,
beschreibung,kommentar, stufe , stand, datum, id FROM anfrage WHERE name='$name' AND stand='offen'
ORDER BY '$sortiert' ASC";
break;
}
if ($name=="false") {
$abfrage="SELECT name AS Benutzername, problemkategorie AS Problemkategorie, betreff AS Problem, beschreibung AS
Problembeschreibung, kommentar AS Kommentar,stufe AS Stufe,
stand AS Status, datum AS Datum, id FROM anfrage WHERE problemkategorie='$problemkategorie' AND stand='offen'
ORDER BY '$sortiert' ASC";
$abfrage2="SELECT name, problemkategorie, betreff,
beschreibung,kommentar, stufe , stand, datum, id FROM anfrage WHERE problemkategorie='$problemkategorie' AND stand='offen'
ORDER BY '$sortiert' ASC";
break;
}
Kommentar