Ich habe ein Abfrage-Formular mit Jump-Menüs. Die Ergebnisse sollen sich dadurch automatisch ändern.
Nur werden die Werte in den Jump_menüs nicht angezeigt. Bei laender wird nur USA und Mexiko, bei namen gar nicht und bei essen nur Mehl und Butter angezeigt. Was mach ich da falsch?
<html>
<?php
$laender = Array("alle", "USA", "Kanada", "Mexiko", "Alaska");
$namen = Array("alle", "Otto", "Karl", "Heinrich", "Steve", "Steffen");
$essen = Array("Eier", "Mehl", "Pulver", "Butter");
$HOST = "Hostname";
$USERID = "Benutzer";
$PW = "Passwort";
$datenbank = "Datenbankname";
if ($_SERVER['REQUEST_METHOD'] == "POST"){
if (isset($_POST['angebot_land']) && $_POST['angebot_land'] !="alle"){
$filterL = $_POST['angebot_land'];
$filterB = $_POST['angebot_namen'];
$filterEssen = $_POST['angebot_essen'];
$sql = "SELECT * FROM angebotliste WHERE ((land = '$filterL') AND (name = '$filterB') AND (essen = '$filterStellen') AND (codenummer='7') ORDER BY datum";
}
else{
$sql = "SELECT * FROM angebotliste WHERE codenummer like '2' ORDER BY datum";
}
}
else{
$sql = "SELECT * FROM angebotliste WHERE codenummer like '2' ORDER BY datum";
}
$db_handle = mysql_connect($HOST,$USERID,$PW)
or die ("Die Datenbank ist momentan nicht erreichbar");
@mysql_select_db($datenbank, $db_handle);
$ergebnis = @mysql_query($sql);
$anz_datensaetze = @mysql_num_rows($ergebnis);
...
<form name='suchen' action='{$SERVER['PHP_SELF']}' method='POST'>
Land:
<select name='angebot_land' onchange='this.form.submit()'>";
for ($ii = 0; $ii<count($laender); $ii=$ii+2){
if ($filterL == $laender [$ii]){
echo "<option value='{$laender [$ii]}'
selected>{$laender[$ii+1]}</option>";
}
else{
echo "<option value='{$laender[$ii]}'>
{$laender[$ii+1]}</option>";
}
}
echo "</select>
</td><td>
Namen:
<select name='angebot_namen' onchange='this.form.submit()'>";
for ($ii = 0; $ii<count($namen); $ii=$ii+2){
if ($filterB == $namen [$ii]){
echo "<option value='{$namen [$ii]}'
selected>{$namen[$ii+1]}</option>";
}
else{
echo "<option value='{$namen[$ii]}'
{$namen[$ii+1]}</option>";
}
}
echo "</select>
</td><td>
Essen:
<select name='angebot_essen' onchange='this.form.submit()'>";
for ($ii = 0; $ii<count($essen); $ii=$ii+2){
if ($filterEssen == $essen [$ii]){
echo "<option value='{$essen [$ii]}'
selected>{$essen[$ii+1]}</option>";
}
else{
echo "<option value='{$essen[$ii]}'>
{$essen[$ii+1]}</option>";
}
}
echo "</select>
Nur werden die Werte in den Jump_menüs nicht angezeigt. Bei laender wird nur USA und Mexiko, bei namen gar nicht und bei essen nur Mehl und Butter angezeigt. Was mach ich da falsch?
<html>
<?php
$laender = Array("alle", "USA", "Kanada", "Mexiko", "Alaska");
$namen = Array("alle", "Otto", "Karl", "Heinrich", "Steve", "Steffen");
$essen = Array("Eier", "Mehl", "Pulver", "Butter");
$HOST = "Hostname";
$USERID = "Benutzer";
$PW = "Passwort";
$datenbank = "Datenbankname";
if ($_SERVER['REQUEST_METHOD'] == "POST"){
if (isset($_POST['angebot_land']) && $_POST['angebot_land'] !="alle"){
$filterL = $_POST['angebot_land'];
$filterB = $_POST['angebot_namen'];
$filterEssen = $_POST['angebot_essen'];
$sql = "SELECT * FROM angebotliste WHERE ((land = '$filterL') AND (name = '$filterB') AND (essen = '$filterStellen') AND (codenummer='7') ORDER BY datum";
}
else{
$sql = "SELECT * FROM angebotliste WHERE codenummer like '2' ORDER BY datum";
}
}
else{
$sql = "SELECT * FROM angebotliste WHERE codenummer like '2' ORDER BY datum";
}
$db_handle = mysql_connect($HOST,$USERID,$PW)
or die ("Die Datenbank ist momentan nicht erreichbar");
@mysql_select_db($datenbank, $db_handle);
$ergebnis = @mysql_query($sql);
$anz_datensaetze = @mysql_num_rows($ergebnis);
...
<form name='suchen' action='{$SERVER['PHP_SELF']}' method='POST'>
Land:
<select name='angebot_land' onchange='this.form.submit()'>";
for ($ii = 0; $ii<count($laender); $ii=$ii+2){
if ($filterL == $laender [$ii]){
echo "<option value='{$laender [$ii]}'
selected>{$laender[$ii+1]}</option>";
}
else{
echo "<option value='{$laender[$ii]}'>
{$laender[$ii+1]}</option>";
}
}
echo "</select>
</td><td>
Namen:
<select name='angebot_namen' onchange='this.form.submit()'>";
for ($ii = 0; $ii<count($namen); $ii=$ii+2){
if ($filterB == $namen [$ii]){
echo "<option value='{$namen [$ii]}'
selected>{$namen[$ii+1]}</option>";
}
else{
echo "<option value='{$namen[$ii]}'
{$namen[$ii+1]}</option>";
}
}
echo "</select>
</td><td>
Essen:
<select name='angebot_essen' onchange='this.form.submit()'>";
for ($ii = 0; $ii<count($essen); $ii=$ii+2){
if ($filterEssen == $essen [$ii]){
echo "<option value='{$essen [$ii]}'
selected>{$essen[$ii+1]}</option>";
}
else{
echo "<option value='{$essen[$ii]}'>
{$essen[$ii+1]}</option>";
}
}
echo "</select>
Kommentar