PC-Freak :D
Hi,
für eine Webseite brauche ich ein suchsystem. Ein einfaches habe ich bereits. Dieses sucht einfach in der Datenbank auf genaue Übereinstimmung. Dazu habe ich die WHERE Klausel mit LIKE %suchbegriff% genutzt.
Also ganz simpel und nicht wirklich toll.
Deswegen arbeite ich gerade an einem Suchskript, das Wortähnlichkeit etc. berechnet.
Dazu werde ich später auch ein Thema aufmachen, da ich schon erste Probleme habe^^
Aber zum eigentlichen Thema:
Wenn ein eingegebener Begriff mit einem aus der Datenbank übereinstimmt, dann wird bisher bei mir nur der Titel der Seite ausgegeben. Gibt es eine Möglichkeit, unter dem titel einen kleinen Auszug der Seite zu machen, in dem das gesuchte Wort drin vorkommt. Und halt nicht am Ende oder Anfang sondern in der Mitte. So wie bei Google.
Ist das schwer? Wie macht man sowas?
Hier mein grundlegendes Skript.
Danke schon mal
LG
Dennis
für eine Webseite brauche ich ein suchsystem. Ein einfaches habe ich bereits. Dieses sucht einfach in der Datenbank auf genaue Übereinstimmung. Dazu habe ich die WHERE Klausel mit LIKE %suchbegriff% genutzt.
Also ganz simpel und nicht wirklich toll.
Deswegen arbeite ich gerade an einem Suchskript, das Wortähnlichkeit etc. berechnet.
Dazu werde ich später auch ein Thema aufmachen, da ich schon erste Probleme habe^^
Aber zum eigentlichen Thema:
Wenn ein eingegebener Begriff mit einem aus der Datenbank übereinstimmt, dann wird bisher bei mir nur der Titel der Seite ausgegeben. Gibt es eine Möglichkeit, unter dem titel einen kleinen Auszug der Seite zu machen, in dem das gesuchte Wort drin vorkommt. Und halt nicht am Ende oder Anfang sondern in der Mitte. So wie bei Google.
Ist das schwer? Wie macht man sowas?
Hier mein grundlegendes Skript.
PHP:
<?php
$db = @new MySQLi('', '', '', '');
if (mySQLi_connect_errno()) {
die('in search.php: Konnte keine Verbindung zu Datenbank aufbauen, MySQL meldete: '.mysqli_connect_error());
}
$suchanfrage = htmlentities(utf8_decode($_POST['suche']));
$sql = "SELECT * FROM `artikel` WHERE `titel` LIKE '%$suchanfrage%' OR `inhalt` LIKE '%$suchanfrage%' OR `art` LIKE '%$suchanfrage%' ORDER BY `datum` DESC";
$abfrage = $db->query($sql);
?>
<div class="artikel">
<strong class="header"><font style='color: #fff; margin-left: 10px;'>Ergebnisse für: <?php echo $suchanfrage; ?></font></strong>
<hr>
<?php
while ($suchergebnis = $abfrage->fetch_assoc()) {
echo "<a style='color: #333;' href='ansicht.php?id=" . $suchergebnis['id'] . "'><font style='color: #333; font-size: 20px;'>" . utf8_encode($suchergebnis['titel']) . "</font></a> | vom " . $suchergebnis['datum'] . "<hr>";
}
?>
</div>
Danke schon mal
LG
Dennis