Hallo,
ich bin jetzt schon seit Tagen am lesen und googeln, kann aber leider keine funktionierende Lösung für mein Problem finden.
Meine Situation:
Ich habe eine Datenbank in die man sich per Formular eintragen kann. Zur Abfrage sollte man auch wieder ein Formular verwenden können (und verschiedene Suchkriterien auswählen können) und die Ergebnisse dann in einer Tabelle angezeigt bekommen.
Wenn ich jetzt nur nach einem Begriff suchen möchte funktioniert es, aber ich habe leider keine Ahnung wie ich 2 oder 3 Suchkriterien zuweisen kann.
Folgendes habe ich bis jetzt für einen Suchbegriff:
SUCHFORMULAR:
<form method="POST" action="suchen.php">
<select name="suchbegriff" size="1">
<option value="bar">Bar</option>
<option value="restaurant">Restaurant</option>
<option value="imbiss">Imbiss</option>
</select>
<p><input type="submit" value="Absenden" name="Absenden"></p>
</form>
AUSGABE:
...Datenbankverbindung...
$suche = $_POST['suchbegriff'];
// Verbindung oeffnen und Datenbank ausweahlen
$conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
if ($conID)
{
mysql_select_db( $db_name, $conID );
}
$daten =
mysql_query('SELECT * FROM `restaurants` WHERE `typ`=\''.$suche.'\'' , $conID);
// Tabelle erstellen fuer die Ausgabe
echo '<table border="1">';
echo "<tr><th>Lokalname</th><th>Typ</th><th>Küche</th><th>Adresse</th></tr>";
while($datensatz=mysql_fetch_array($daten))
{
// Jeder Datensatz entspricht einer Tabellenzeile
echo "<tr>";
echo "<td>" .htmlspecialchars( $datensatz['lokalname'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['typ'] ). "</td>";
echo "<td>" .$datensatz['kueche']. "</td>";
echo "<td>" .$datensatz['adresse']. "</td>";
echo "</tr>";
}
// Tabelle schliessen
echo "</table>";
?>
Wie gesagt, bei einem Suchbegriff funktioniert es! Wenn ich aber jetzt im Suchformular einen weiteren Auswahlbegriff hinzufüge, bekomme ich keine Ergebnisse mehr (obwohl beide Kriterien natürlich in der Datenbank vorhanden wären)!
Wäre sehr dankbar wenn mir jemand kurz helfen könnte!!
lg Mike
ich bin jetzt schon seit Tagen am lesen und googeln, kann aber leider keine funktionierende Lösung für mein Problem finden.
Meine Situation:
Ich habe eine Datenbank in die man sich per Formular eintragen kann. Zur Abfrage sollte man auch wieder ein Formular verwenden können (und verschiedene Suchkriterien auswählen können) und die Ergebnisse dann in einer Tabelle angezeigt bekommen.
Wenn ich jetzt nur nach einem Begriff suchen möchte funktioniert es, aber ich habe leider keine Ahnung wie ich 2 oder 3 Suchkriterien zuweisen kann.
Folgendes habe ich bis jetzt für einen Suchbegriff:
SUCHFORMULAR:
<form method="POST" action="suchen.php">
<select name="suchbegriff" size="1">
<option value="bar">Bar</option>
<option value="restaurant">Restaurant</option>
<option value="imbiss">Imbiss</option>
</select>
<p><input type="submit" value="Absenden" name="Absenden"></p>
</form>
AUSGABE:
...Datenbankverbindung...
$suche = $_POST['suchbegriff'];
// Verbindung oeffnen und Datenbank ausweahlen
$conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
if ($conID)
{
mysql_select_db( $db_name, $conID );
}
$daten =
mysql_query('SELECT * FROM `restaurants` WHERE `typ`=\''.$suche.'\'' , $conID);
// Tabelle erstellen fuer die Ausgabe
echo '<table border="1">';
echo "<tr><th>Lokalname</th><th>Typ</th><th>Küche</th><th>Adresse</th></tr>";
while($datensatz=mysql_fetch_array($daten))
{
// Jeder Datensatz entspricht einer Tabellenzeile
echo "<tr>";
echo "<td>" .htmlspecialchars( $datensatz['lokalname'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['typ'] ). "</td>";
echo "<td>" .$datensatz['kueche']. "</td>";
echo "<td>" .$datensatz['adresse']. "</td>";
echo "</tr>";
}
// Tabelle schliessen
echo "</table>";
?>
Wie gesagt, bei einem Suchbegriff funktioniert es! Wenn ich aber jetzt im Suchformular einen weiteren Auswahlbegriff hinzufüge, bekomme ich keine Ergebnisse mehr (obwohl beide Kriterien natürlich in der Datenbank vorhanden wären)!
Wäre sehr dankbar wenn mir jemand kurz helfen könnte!!
lg Mike