Hallo @ all,
ich bin gerade dabei eine "optimale" Suchfunktion zu schrieben. Oder möchte zumindest eine solche schreiben ;-P
Mein aktueller Code:
<html>
<head>
<meta http-equiv="content-type" content="text/html; ">
<meta http-equiv="refresh" content=";">
<title></title>
</head>
<body>
<form action="#" method="get">
<input type="text" name="suche" size="20">
<input type="submit">
</form>
<?php
include '_config.php'; //USER, PW, DATENBANK
$suche = $_GET['suche'];
$sql = "SELECT * FROM `tabelle` WHERE `titel` LIKE '%".$suche."%' or `text` LIKE '%".$suche."%' ORDER BY id ASC";
$query = mysql_query($sql);
$count = mysql_affected_rows();
while($row = mysql_fetch_assoc($query)){
echo '<b><a href="#">'.$row['titel'].'</a></b>';
echo '<ul>'.substr($row['text'], 0, 500).'... <a href="#">[mehr]</a></ul>';
}
?>
</body>
</html>
Meine Datenbank:
id | title | text
Meine Suchfunktion soll nun folgende Funktionen enthalten:
> Groß- und Kleinschreibung ignorieren
> Sowohl die "titel" als auch die "text" Spalte durchsuchen
> zuerst aber alle gefundenen Ergebnisse aus der "titel" Spalte darstellen dann die restlichen aus der "text" Spalte
> auch ganze Textpassagen finden z.B. "Der kleine Thomas geht spazieren" wobei hier zusammenhängende Passagen, Vorrang vor einzelnen Wörtern haben sollten z.B. "kleine [...] geht [...] Thomas [...] geht [...] der"
> die Ausgabe substr($row['text'], 0, 500) so formatieren, dass alle Suchbegriffe z.b. mit <b></b> hervorgehoben werden
ich hoffe ich habe mein Problem ausreichend dokumentiert. Kann mir jemand weiterhelfen wie ich einzelne Punkte hiervon verwirklichen kann, oder hat sogar noch jemand eine Idee, was eine "optimale"
Suche noch für Funktionen enthalten sollte?
Ich danke schon mal im Voraus für alle Antworten und Tipps.
LG Timoyx