Ich will eine Abfrage von der Tabelle meiner Datenbank durchführen. Die Ergebnisse sollen durch mehrere Filter immer weiter eingeschränkt werden.
Kann man das so machen?
<?php
$laender = Array("alle", "USA", "Kanada", "Mexiko", "Alaska");
$namen = Array("alle", "Otto", "Karl", "Ludwig");
$essen = Array("Eier", "Mehl", "Butter");
$HOST = "Hostname";
$USERID = "BenutzerID";
$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 (mahlzeit = "$filterEssen") AND (codenummer="5")) ORDER BY datum";
}
else{
$sql = "SELECT * FROM angebotliste WHERE codenummer like "5" ORDER BY datum";
}
}
else{
$sql = "SELECT * FROM angebotliste WHERE codenummer like "5" 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);
...
Kann man das so machen?
<?php
$laender = Array("alle", "USA", "Kanada", "Mexiko", "Alaska");
$namen = Array("alle", "Otto", "Karl", "Ludwig");
$essen = Array("Eier", "Mehl", "Butter");
$HOST = "Hostname";
$USERID = "BenutzerID";
$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 (mahlzeit = "$filterEssen") AND (codenummer="5")) ORDER BY datum";
}
else{
$sql = "SELECT * FROM angebotliste WHERE codenummer like "5" ORDER BY datum";
}
}
else{
$sql = "SELECT * FROM angebotliste WHERE codenummer like "5" 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);
...
Kommentar