PHP /SQL Alle werte aus dropdownfeld auslesen

Anabolos

Cadet 4th Year
Registriert
Juni 2008
Beiträge
65
Hallo,

also ich hätte eine Frage bzgl eines Dropdownfeldes und einer SQL-Abfrage.
Das Dropdownfeld wird dynamisch mit sql inhalten befüllt. Zuästzlich würde ich gerne eine
"ALLE" auswahl haben bei der alle werte aus dem dropdown feld abgefragt werden.

$sql="SELECT * FROM immobilie where Staat=$staat";

Das heißt dann es sollte so dann im befehl stehen:

$sql="SELECT * FROM immobilie where Staat='Österreich' OR Staat='Deutschland' ";

Aber wie macht man das dynamisch, vl. die variable vorbereiten oder so?
 
mach doch einfach bei ALLE die entsprechende mysql query, schließlich befüllst du das drop down ja auch auf die weise.

Code:
if(@$_GET['show'] == "Alle") {
 $sql = 'SELECT * FROM immobilien';
 $res = mysql_query($sql) or die (mysql_error());
 while($row = mysql_fetch_array($res)) {
   echo $row['staat']."<br>";
 }
}
 
Zuletzt bearbeitet:
hmm aber geht denn das auch wenn man noch mehr abfragen hat?

if ($btnsuchen)
{
$sql6="SELECT * FROM immobilie where (Staat='$staat') && (Bundesland='$bundesland') && (PLZ='$PLZ') && (Ort='$ort') && (Art='$art') && (Preis>=$minPreis) && (Preis<=$maxPreis) && (Wohnnutzflaeche>=$minFlaeche) && (Wohnnutzflaeche<=$maxFlaeche)&& (Grundgroesse>=$minGröße) && (Grundgroesse<=$maxGröße)&& (Zimmeranzahl>=$minZimmer) && (Zimmeranzahl<=$maxZimmer)";

die fettgedruckten sind dropdownfelder

echo "-".$sql6."--<br/>";
$result=mysql_query($sql6,$server);
echo "<table border='1px'>";
echo "<th>Bild</th>";
echo "<th>PLZ</th>";
echo "<th>Ort</th>";
echo "<th>Immobilienart</th>";
echo "<th>Zimmeranzahl</th>";
echo "<th>Wohnnutzfläche</th>";
echo "<th>Preis</th>";
echo "<th></th>";
while ($row=mysql_fetch_array($result))
{
echo "<tr><td>".$row['Bild']."</td>";
echo "<td>".$row['PLZ']."</td>";
echo "<td>".$row['Ort']."</td>";
echo "<td>".$row['Art']."</td>";
echo "<td>".$row['Zimmeranzahl']."</td>";
echo "<td>".$row['Wohnnutzflaeche']." ".m²."</td>";
echo "<td>".$row['Preis']." ".€."</td>";
echo "<td><a href='einfügen.php?id=$row[ImmobilienNr]'>mehr Infos</a></td></tr>";
}
}
echo "</table>";
?>
 
du könntest solange das ausgewählte ungleich der auswahl ALLE ist, so tun:

Code:
//NICHT ALLE

$staatx = $staat."AND";
$bundeslandx = $bundesland."AND";
$plzx = $plz."AND";
$ortx = $ort."AND";

$sql6="SELECT * FROM immobilie where @$staatx @$bundexlandx @$plzx @$ortx(Art='$art') && 
(Preis>=$minPreis) && (Preis<=$maxPreis) && (Wohnnutzflaeche>=$minFlaeche) &&
 (Wohnnutzflaeche<=$maxFlaeche)&& (Grundgroesse>=$minGröße) && 
(Grundgroesse<=$maxGröße)&& (Zimmeranzahl>=$minZimmer) && (Zimmeranzahl<=$maxZimmer)";

sobald jm. NICHT auf alle klickt, so wird $staatx durch bsp. $_GET definiert, klickt jm. auf ALLE, so bleibt die variable $staatx undefiniert und hat keinerlei auswirkung auf die mysql query.

Syntaxfehler nicht ausgeschlossen ;)
 
Zuletzt bearbeitet:
erstmals vielen danke für deine antworten, du weißt anscheinend von was du schreibst:D

aber leider komme ich nicht ganz mit:freak:

also ich habe es mal so hineinkopiert aber es funkt noch nicht , muss ich noch etwas dazumachen wie zb. eine if?
Ergänzung ()

habs gecheckt^^ nochmals vielen dank:)
 
Zuletzt bearbeitet:
Zurück
Oben