Ich habe ein Formular mit einem Textfeld und vier Kombinationsfelder, welche die verschiedenen Felder einer Tabelle repräsentieren.
Wenn ich ein oder mehrere Suchbegriffe im Textfeld eingebe und ein oder mehrere Kästchen auswähle, dann soll in den entsprechenden Feld(ern) nach den Suchbegriff(en) gesucht werden. Ich habe nun folgend zwei Scripten, das erste (Code #1) sucht in den Feldern und das zweite (Code #2) nach den Suchbegriffen, wobei man auch mehrere Begriffe eingeben kann:
Code #1
__________
Code #2
Die Codes habe ich aus einem anderen Forum, da ich noch ein blutiger Anfänger bin. Es gelingt mir einfach nicht, die beiden Codes zu verbinden, ohne dass eine Fehlermeldung kommt. Ich möchte sowohl in den ausgewählten Feldern suchen, auch wenn mehrere Begriffe eingegeben werden. Ich hab folgendes probiert:
Kann man foreach so nebeneinander stellen? Ich hoffe, jemand von euch kann mir helfen.
Dareios
Wenn ich ein oder mehrere Suchbegriffe im Textfeld eingebe und ein oder mehrere Kästchen auswähle, dann soll in den entsprechenden Feld(ern) nach den Suchbegriff(en) gesucht werden. Ich habe nun folgend zwei Scripten, das erste (Code #1) sucht in den Feldern und das zweite (Code #2) nach den Suchbegriffen, wobei man auch mehrere Begriffe eingeben kann:
Code #1
Code:
$condition = ""; if (isset($_POST['seite'])) { $conditions = array(); foreach ($_POST['seite'] as $value) $conditions[] = $value . " like '%" . $_POST[Suche] . "%'"; $condition = "where " . implode (" and ", $conditions); } $query = "select * from Biblmes $condition"; $result = mysql_query($query,$link); $num=mysql_num_rows($result);
Code #2
Code:
$Suche = explode(" ", $_POST[Suche]); $i = 1; foreach($Suche as $anfrageteil) { $anfrage .= " Autor LIKE '%".$anfrageteil."%' "; if($i < count($Suche)) $anfrage .= "AND"; $i++; } $query = "SELECT * FROM Biblmes WHERE".$anfrage; $result = mysql_query($query, $link); while($row = mysql_fetch_array($result)) { if (empty($row[Zitat])) { echo "$row[Autor] $row[Titel] $row[Buchdaten]. "; } if (empty($row[Buchdaten])) { echo "$row[Autor] $row[Titel] $row[Zitat]. "; } }
Die Codes habe ich aus einem anderen Forum, da ich noch ein blutiger Anfänger bin. Es gelingt mir einfach nicht, die beiden Codes zu verbinden, ohne dass eine Fehlermeldung kommt. Ich möchte sowohl in den ausgewählten Feldern suchen, auch wenn mehrere Begriffe eingegeben werden. Ich hab folgendes probiert:
Code:
$condition = ""; $Suche = explode(" ", $_POST[Suche]); $i = 1; $Suche as $anfrageteil if (isset($_POST['seite'])) { $conditions = array(); foreach ($_POST['seite'] as $value) and foreach ($Suche as $anfrageteil) $conditions[] = $value . " like '%" . $anfrageteil . "%'"; $condition = "where " . implode (" and ", $conditions); $query = "select * from Biblmes $condition"; $result = mysql_query($query, $link); while($row = mysql_fetch_array($result)) { if (empty($row[Zitat])) { echo "$row[Autor] $row[Titel] $row[Buchdaten]. "; } if (empty($row[Buchdaten])) { echo "$row[Autor] $row[Titel] $row[Zitat]. "; } }
Dareios
Kommentar