xXxPeterPanxXx
Neues Mitglied
Hi,
ich habe nun seit mehreren Wochen Probleme mit meiner Suchfunktion. Sie sucht einfach nicht.:mrgreen:
Ihr könnt sie gerne testen. Geht einfach auf Home | little-coder.de und sucht nach if im Header.
Es wird nicht funktionieren.
Das ist der PHP Code
Seht ihr einen Fehler?
MfG xXxPeterPanxXx
ich habe nun seit mehreren Wochen Probleme mit meiner Suchfunktion. Sie sucht einfach nicht.:mrgreen:
Ihr könnt sie gerne testen. Geht einfach auf Home | little-coder.de und sucht nach if im Header.
Es wird nicht funktionieren.
Das ist der PHP Code
PHP:
<?php
require_once 'inc/config.inc.php';
function performSearch(mysqli $db, $keywords, $category = 0, $inTitle = true,
$inText = true)
{
/* Parameter validieren */
$keywords = trim($keywords);
$category = (int) $category;
$inTitle = (bool) $inTitle;
$inText = (bool) $inText;
$results = array();
/* Abbruchbedingungen */
if ($keywords == '') return array();
/* WHERE-Bedingungen zusammenstellen */
$conditions = array();
$fields = array();
if ($inTitle) $fields[] = 'name';
if ($inText) $fields[] = 'tutorial';
if (count($fields) == 0) $fields = array('name', 'tutorial');
$conditions[] = "MATCH (e.`" . implode("`, e.`", $fields) . "`) "
. "AGAINST ('" . $db->real_escape_string($keywords) . "')";
if ($category > 0) {
$conditions[] = "`kategorie` = '" . $db->real_escape_string($category) . "'";
}
$wherePart = " WHERE " . implode(' AND ', $conditions);
/* Query zusammenbauen */
$query = "SELECT
e.`id`,
e.`name`,
e.`nameurl`,
k.`id` AS `category_id`,
k.`name` AS `category_name`,
k.`name_url` AS `category_name_url`
FROM
`eintraege` e
LEFT JOIN
`kategorien` k
ON
e.`kategorie` = k.`id`";
if ($wherePart != '') {
$query .= $wherePart;
}
$result = $db->query($query);
while ($row = $result->fetch_assoc()) {
$results[] = $row;
}
/* Rückgabe */
return $results;
}
$title = $_POST['key'].' - Suche';
include 'inc/header.inc.php';
$_POST['key'] = (isset($_POST['key'])) ? trim($_POST['key']) : '';
$_POST['cat'] = (isset($_POST['cat'])) ? (int) $_POST['cat'] : 0;
$_POST['titel'] = (isset($_POST['titel'])) ? (bool) $_POST['titel'] : false;
$_POST['text'] = (isset($_POST['text'])) ? (bool) $_POST['text'] : false;
$results = performSearch($db, $_POST['key'], $_POST['cat'], $_POST['titel'],
$_POST['text']);
//$results = performSearch($db, $_POST['key'], 0, true, true);
if (count($results) == 0) {
echo '<p class=\"error\">Ihre Suche erzielte leider keinen Treffer</p>';
} else {
echo "<ul class\"ausgabe\">";
foreach ($results as $result) {
echo '<li class="ausgabe"><a href="' . $result['nameurl'] . '" class="ausgabe">'
. htmlspecialchars($result['name']) . '</a></li>';
}
echo "</ul>";
}
include 'inc/footer.inc.php';
?>
Seht ihr einen Fehler?
MfG xXxPeterPanxXx