Moin Leute,
folgenden Code habe ich mir als kleines Suche-Script gebastelt:
Leider spuckt der mir dabei nun diese Fehler hier aus, und ich versteh ehrlich gesagt nich warum.
In Zeile 41 ist das: if(!in_array("$title", $found_id))
In Zeile 44 ist das: $found = array_push($found, "$title");
Nach
array_push();
und
in_array();
habe ich meiner Ansicht nach alles richtig gemacht.
Worin liegt nun also noch der Fehler ?
Sinn des Array "$found" soll sein zu verhinderten, dass Beiträge doppelt aufgelistet werden, wenn mehr als ein Wort aus der Such-Eingabe in einem Eintrags-Title steht.
Danke schonmals für die Hilfe!
Greetz,
Azadoras
folgenden Code habe ich mir als kleines Suche-Script gebastelt:
PHP-Code:
<?php
$search = $_POST['search'];
$suchbegriff = $_POST['suchbegriff'];
if(isset($search) && !empty($search))
{
$suche = explode(" ", $suchbegriff);
$i = count($suche);
echo $i; $bla = implode(",", $suche);
echo "<br>";
echo $bla;
echo "<br>";
foreach($suche as $such_element)
{
$query = "SELECT * FROM eintraege WHERE title LIKE '%$such_element%'";
echo $query;
echo "<br>";
$res = mysql_query($query);
$count = mysql_num_rows($res);
echo $count;
$found = array(" ");
while($row = mysql_fetch_object($res))
{
$id = $row->id;
$title = $row->title;
if(!in_array("$title", $found_id))
{
echo "<a href=\"index.php?site=Hausarbeiten&action=showentry&id=$id\">$row->title</a>";
$found = array_push($found, "$title");
}
}
}
}
echo "<br><br><br><center>
<font size=\"5pt\"><b>Eintrag Suchen</b></font>";
echo "<br><br>
<form method=\"post\" action=\"index.php?site=suchen\">
<input type=\"text\" name=\"suchbegriff\"></input>
<input type=\"submit\" value=\"Suche starten\" name=\"search\"></input>
</form>
</center>";
?>
Warning: in_array() [function.in-array]: Wrong datatype for second argument in C:\xampp\htdocs\SchreibDochAb\suchen.php on line 41
Warning: array_push() [function.array-push]: First argument should be an array in C:\xampp\htdocs\SchreibDochAb\suchen.php on line 44
Warning: array_push() [function.array-push]: First argument should be an array in C:\xampp\htdocs\SchreibDochAb\suchen.php on line 44
In Zeile 41 ist das: if(!in_array("$title", $found_id))
In Zeile 44 ist das: $found = array_push($found, "$title");
Nach
array_push();
und
in_array();
habe ich meiner Ansicht nach alles richtig gemacht.
Worin liegt nun also noch der Fehler ?
Sinn des Array "$found" soll sein zu verhinderten, dass Beiträge doppelt aufgelistet werden, wenn mehr als ein Wort aus der Such-Eingabe in einem Eintrags-Title steht.
Danke schonmals für die Hilfe!
Greetz,
Azadoras
Kommentar