Hallo,
ich benutze den Code:
Meine Datenbank besteht nur aus 3 Tabellen, ID, keywords und rank.
Die Abfrage soll nun folgendes ermöglichen:
Bei Eingabe eines Suchbegriffes ($name) soll die DB nach dessen vorhandensein durchsuchen und den Wert "rank" bei den gefundenen
Spalten ausgeben und summieren. Soweit, so gut.
Mein Problem ist nur, das es nicht funktioniert....
Als Beispiel sind in der DB folgende Werte gespeichert:
id|keyword |rank
1 boot 2
2 haus 3
3 flugzeug 2
usw.
Wenn ich nun nach dem Keyword "boot" suche, soll die Abfrage die Spalte
mit der ID 1 finden und den Wert unter "rank" auslesen. Dieses
funktioniert auch soweit.
Was nicht funktioniert:
Wenn ich nach "hausboot" suche, sollte die Funktion eigentlich die
Spalten mit der ID 1 und 2, also "boot" und "haus" finden, den rank-Wert
der jeweiligen Spalten auslesen und summiert ausgeben....ABER:
Das Ergebnis ist dann immer 0, d.h. es werden keine Treffer gefunden.
Zudem habe ich das Problem, das mit der verwendeten Abfrage auch
unvollständige Suchstrings unterstützt werden, d.h. wenn ich "boo" eingebe, kommt als Ergebnis trotzdem die Spalte mit der ID 1 raus....
Meine Frage ist nun also:
1.) Wie erreiche ich es das auch kombinierte Begriffe gefunden werden ?
2.) Wie unterdrücke ich Treffer bei unvollständigen (somit nicht 100%ig gleichen) Suchstrings ??
Gruss
GDF
ich benutze den Code:
PHP-Code:
<?php
include ("config.inc.php");
$getdbw = mysql_query ("SELECT rank FROM db_keywords WHERE keyword LIKE '%$name%'");
$countkeywords = mysql_num_rows($getdbw);
echo mysql_error();
$countwert = 0;
echo "Gefundene Einträge: ".$countkeywords."<br><br>";
if ($countkeywords <=0)
{
echo "Nix da....";
}
if ($countkeywords >=0)
{
while ($fields = mysql_fetch_row($getdbw)) {
for ($i=0, $max=sizeof($fields); $i < $max; $i++)
{
$countwert = $countwert + $fields[0];
echo $countwert."<br>";
}
}
echo $countwert;
}
?>
Die Abfrage soll nun folgendes ermöglichen:
Bei Eingabe eines Suchbegriffes ($name) soll die DB nach dessen vorhandensein durchsuchen und den Wert "rank" bei den gefundenen
Spalten ausgeben und summieren. Soweit, so gut.
Mein Problem ist nur, das es nicht funktioniert....
Als Beispiel sind in der DB folgende Werte gespeichert:
id|keyword |rank
1 boot 2
2 haus 3
3 flugzeug 2
usw.
Wenn ich nun nach dem Keyword "boot" suche, soll die Abfrage die Spalte
mit der ID 1 finden und den Wert unter "rank" auslesen. Dieses
funktioniert auch soweit.
Was nicht funktioniert:
Wenn ich nach "hausboot" suche, sollte die Funktion eigentlich die
Spalten mit der ID 1 und 2, also "boot" und "haus" finden, den rank-Wert
der jeweiligen Spalten auslesen und summiert ausgeben....ABER:
Das Ergebnis ist dann immer 0, d.h. es werden keine Treffer gefunden.
Zudem habe ich das Problem, das mit der verwendeten Abfrage auch
unvollständige Suchstrings unterstützt werden, d.h. wenn ich "boo" eingebe, kommt als Ergebnis trotzdem die Spalte mit der ID 1 raus....
Meine Frage ist nun also:
1.) Wie erreiche ich es das auch kombinierte Begriffe gefunden werden ?
2.) Wie unterdrücke ich Treffer bei unvollständigen (somit nicht 100%ig gleichen) Suchstrings ??
Gruss
GDF
Kommentar