Hallo zusammen und fröhliche Weihnachten,
habe vor eine Suche zu programmieren. Bin schon relativ weit, allerdings hängt er sich bei einer for-Schleife immer wieder auf.
Hier erst einmal der Code:
---------------------------------------------
$suchbegriff = rtrim($_POST['suche']); // Leerzeichen am Ende des Strings löschen
$suchbegriff = ltrim($suchbegriff); // Leerzeichen am Anfang des Strings löschen
$suchbegriff = explode(" ", $suchbegriff); // String 2 Array
$link = mysql_connect($dbhost, $dbuser, $dbpass)
or die ("Could not connect");
mysql_select_db ($dbname)
or die ("Could not select database");
if (count($suchbegriff) >= 2) { // Falls mehrere Suchbegriffe
$query = "
SELECT *
FROM content
WHERE (
content_headline LIKE '%" . $suchbegriff[0] . "%' OR
content_content LIKE '%" . $suchbegriff[0] . "%')";
for ($i=1; $i=count($suchbegriff); $i++) {
$query .= "AND (
content_headline LIKE '%" . $suchbegriff[$i] . "%' OR
content_content LIKE '%" . $suchbegriff[$i] . "%')";
}
$query .= " LIMIT 0 , 30 ";
}
else { // Falls nur ein Suchbegriff eingegeben wurde
$query = "
SELECT *
FROM content
WHERE (
content_headline LIKE '%" . $suchbegriff['0'] . "%' OR
content_content LIKE '%" . $suchbegriff['0'] . "%'
) LIMIT 0 , 30 ";
}
---------------------------------------------
Wie ihr seht benötige ich die for-schleife bei der mysql Auswahl, um alle Begriffe durch die Datenbank suchen zu lassen muss dementsprechend die $query Variable die Werte enthalten.
Aber es endet komischerweise in einer Endlos-Schleife - aber warum? er hat doch als Ende count($suchbegriff).
Habt ihr einen Rat?
LG Alex
p.s. habe es schnell programmiert - die synthax ist nicht 100% - sorry