splat
Erfahrenes Mitglied
Hi,
ich habe bereits eine Suchfunktion die so funktioniert:
Mein Problem ist jetzt, das ich immer nur nach einem exakten String suchen kann. Angenommen ich suche nach "shirt blau", dann finde ich einen Artikel der in der Datenbank unter "shirt größe L blau" steht, nicht. Die Suchbegriffe sollten also nicht "zusammenhängen". Kann mir jemand einen Tip geben wie ich das realisieren kann?
Gruß, Marc
ich habe bereits eine Suchfunktion die so funktioniert:
PHP:
<?
$search = trim(strtolower(nvl($_REQUEST["suche_artikel"])));
if ($search) {
$qid_artikel = get_products($search);
} else {
$url = match_referer() || empty($_SERVER["HTTP_REFERER"]) ? "$CFG->wwwroot/.admin" : $_SERVER["HTTP_REFERER"];
header("Location: $url");
die;
}
$DOC_TITLE = "Suchergebnisse";
include("templates/header.php");
include("templates/suche_artikel.php");
include("templates/footer.php");
/******************************************************************************
* FUNCTIONS
*****************************************************************************/
function get_products($search, $max_results=5000) {
/* get all the products under this category */
$qid = db_query("
SELECT
p.id
,p.name
,p.artikelnr
,p.preis
[...]
FROM products p
WHERE (lower(p.name) LIKE '%$search%' OR lower(p.artikelnr) LIKE '%$search%')
LIMIT 0, $max_results
");
return $qid;
}
?>
Mein Problem ist jetzt, das ich immer nur nach einem exakten String suchen kann. Angenommen ich suche nach "shirt blau", dann finde ich einen Artikel der in der Datenbank unter "shirt größe L blau" steht, nicht. Die Suchbegriffe sollten also nicht "zusammenhängen". Kann mir jemand einen Tip geben wie ich das realisieren kann?
Gruß, Marc