Hallo,
Ich arbeite local mit xampp: PHP 5.2.3, MYSQL 5.0.45, Register_Globals = OFF, WINXP SP3
Ich habe ein Script mit 2 Dropdown's, mit HTML select option etc.
Error_Reporting ist auf E_ALL, Keine Meldungen ausser 1 Notice(undefined PHP_SELF).
Die options werden aus einer Mysql-db Spalte gefüllt. Klappt soweit.
Die Spalten heissen innendekoration und bodenbelaege.
Erste statische option hat value "Alles anzeigen".
Mit der if Anweisung möchte ich verschiedene SELECT Abfragen ausführen, je nachdem ob(4 Möglichkeiten):
nur Dropdown1 ausgewählt ist
nur Dropdown2 ausgewählt ist
beide Dropdowns ausgewählt sind
keines der Dropdowns ausgewählt.
Danach werden die Resultate in HTML Table ausgegeben. Klapp auch.
Was funktioniert nicht:
Die IF Anweisung wird nur bis zur Zeile 6 ausgeführt! Ist normal wenn beide Dropdowns ausgewählt sind, also einen anderen Wert in $_POST haben als "Alles anzeigen".
Weiter zum ersten elseif sollte es gehen wenn nur Dropdown2 eine Auswahl anders als "Alles anzeigen" hat.
Wenn nur ein Dropdown oder keines ausgewählt ist passiert nichts.
Ich finde den Fehler nicht, bin mir aber nicht sicher ob die Anführungszeichen " und Hochkomma ' richtig plaziert sind, ebenso die Punktierung bei Zeile 5
Die If Anweisung:
Script Ausschnitt der beiden Dropdown's
Ach ja, das ist zwar HTML, aber wie erreiche ich dass ein Dropdown nach dem Absenden immer auf die erste oberste option springt und nicht auf der vorher gewählten stehen bleiben?
Gruss und Danke hennash
Ich arbeite local mit xampp: PHP 5.2.3, MYSQL 5.0.45, Register_Globals = OFF, WINXP SP3
Ich habe ein Script mit 2 Dropdown's, mit HTML select option etc.
Error_Reporting ist auf E_ALL, Keine Meldungen ausser 1 Notice(undefined PHP_SELF).
Die options werden aus einer Mysql-db Spalte gefüllt. Klappt soweit.
Die Spalten heissen innendekoration und bodenbelaege.
Erste statische option hat value "Alles anzeigen".
Mit der if Anweisung möchte ich verschiedene SELECT Abfragen ausführen, je nachdem ob(4 Möglichkeiten):
nur Dropdown1 ausgewählt ist
nur Dropdown2 ausgewählt ist
beide Dropdowns ausgewählt sind
keines der Dropdowns ausgewählt.
Danach werden die Resultate in HTML Table ausgegeben. Klapp auch.
Was funktioniert nicht:
Die IF Anweisung wird nur bis zur Zeile 6 ausgeführt! Ist normal wenn beide Dropdowns ausgewählt sind, also einen anderen Wert in $_POST haben als "Alles anzeigen".
Weiter zum ersten elseif sollte es gehen wenn nur Dropdown2 eine Auswahl anders als "Alles anzeigen" hat.
Wenn nur ein Dropdown oder keines ausgewählt ist passiert nichts.
Ich finde den Fehler nicht, bin mir aber nicht sicher ob die Anführungszeichen " und Hochkomma ' richtig plaziert sind, ebenso die Punktierung bei Zeile 5
PHP-Code:
WHERE innendekoration = '".$_POST["innendekoration"]."' AND
PHP-Code:
//Wenn beide Dropdowns ausgewählt wurden
if($_POST["innendekoration"] == $_POST["innendekoration"] and $_POST["bodenbelaege"] == $_POST["bodenbelaege"])
{
$result = mysql_query("SELECT Firma, Name, Vorname, Strasse, Nummer, PLZ, Ort, Kanton, Logo
FROM werte WHERE innendekoration = '".$_POST["innendekoration"]."' AND bodenbelaege = '".$_POST["bodenbelaege"]."'");
}
#Zeile 7
//Wenn Dropdown 1 auf "Alles anzeigen" steht und Dropdown 2 ausgewählt wurde
elseif($_POST["innendekoration"] == "Alles anzeigen" and $_POST["bodenbelaege"] == $_POST["bodenbelaege"])
{
$result = mysql_query("SELECT Firma, Name, Vorname, Strasse, Nummer, PLZ, Ort, Kanton, Logo
FROM werte WHERE bodenbelaege = '".$_POST["bodenbelaege"]."'");
}
#Zeile 14
//Wenn Dropdown 1 ausgewählt wurde und Dropdown 2 auf "Alles anzeigen" steht
elseif($_POST["innendekoration"] == $_POST["innendekoration"])
{
$result = mysql_query("SELECT Firma, Name, Vorname, Strasse, Nummer, PLZ, Ort, Kanton, Logo
FROM werte WHERE innendekoration = '".$_POST["innendekoration"]."'");
}
#Zeile 21
//Wenn beide Dropdowns auf "Alles anzeigen" stehen
else
{
$result = mysql_query("SELECT Firma, Name, Vorname, Strasse, Nummer, PLZ, Ort, Kanton, Logo FROM werte");
}
#Zeile 27
Script Ausschnitt der beiden Dropdown's
PHP-Code:
//Formular und Dropdown 1 Beginn
echo "<form id=\"innendeko\" name=\"innendeko\" method=\"post\" action=".$PHP_SELF.">";
echo 'Innendekoration'; //Beschriftung des Select Option Feldes
echo "<select style=width:150px; name=\"innendekoration\">";
echo "<option value=\"Alles anzeigen\">Alles anzeigen</option>";
while ($drop_list1 = mysql_fetch_assoc($drop_ideko))
{
echo "<option value=" . $drop_list1["innendekoration"] . ">" . $drop_list1["innendekoration"] . "</option>";
}
echo "</select>";
//Ausgabe der Dropdown 1 Auswahl
$drop_innendeko = $_POST["innendekoration"];
echo 'Sie haben gewählt: '."$drop_innendeko";
//Dropdown 1 Ende <form> Tag nicht geschlossen!
echo "<br>";
//Dropdown 2 Beginn
echo 'Bodenbelaege'; //Beschriftung des Select Option Feldes
echo "<select style=width:150px; name='bodenbelaege'>";
echo "<option value=\"Alles anzeigen\">Alles anzeigen</option>";
while ($drop_list2 = mysql_fetch_assoc($drop_boden))
{
echo "<option value=" . $drop_list2["bodenbelaege"] . ">" . $drop_list2["bodenbelaege"] . "</option>";
}
echo "</select>";
//Ausgabe der Dropdown Wahl
$drop_bodenbel = $_POST["bodenbelaege"];
echo 'Sie haben gewählt: '."$drop_bodenbel";
echo "<br>";
echo "<input type=\"submit\" name=\"Submit\" value=\"Senden\" />";
echo "</form>";
//Dropdown 2 Ende und <form> Tag geschlossen.
Gruss und Danke hennash
Kommentar