[MSSQL] Freie Inhaltssuche mehrerer Begriffe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • schmalle
    antwortet
    du musst deinen suchbegriff dynamisch zusammenbauen. hier mal ein codeschnipsel aus meiner suche:
    Code:
    function search($begriff,$ex,$feld) {
    $str = preg_replace("|( )|s","%%",$begriff);
    $stri = "%".$str."%";
    $stri = preg_replace("|(%)([^%]{1})(%)|si","",$stri);
    if($ex == "and") {
    $wer = preg_replace("|(%)([^%]{1,})(%)|si"," like '% \\2%' ",$stri);
    } else { $wer = preg_replace("|(%)([^%]{1,})(%)|si"," like '%\\2%' ",$stri); }
    $wer2 = preg_replace("|([ '%]{2,})(like)|si","\\1 $ex \\2",$wer);
    $str = preg_replace("|(.*?)(like)|si","\\1 $feld \\2",$wer2);
    return $str;
    }

    Einen Kommentar schreiben:


  • dkalass
    antwortet
    Leider löst es nicht mein Problem.
    Ich kann ja nicht sagen,
    ob Haus und Garten in "Text",
    oder Haus in "Text" und Garten in "LongText"
    oder Haus und Garten in "LongText"
    vorkommen.
    Es sollte auch ein Ergebnis geben, wenn nur Haus oder nur Garten in
    "Text" oder "LongText" vorkommen.
    Löst dein Script auch dieses Problem?

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    schonmal gesucht?

    http://www.php-resource.de/forum/sho...QueryExtension

    Einen Kommentar schreiben:


  • dkalass
    hat ein Thema erstellt [MSSQL] Freie Inhaltssuche mehrerer Begriffe.

    [MSSQL] Freie Inhaltssuche mehrerer Begriffe

    Hallo,

    das ist mein statement:

    if("$Suchtext" ne "")
    {
    $selection = "select * from $ptable WHERE Text LIKE '%$Suchtext%' OR LongText LIKE '%$Suchtext%' ORDER BY 'Flag' DESC,'Text'";
    }

    wenn %$Suchtext% aber als Inhalt mehr als ein Wort enthält wird nur der genaue Suchtext gesucht. Ich möchte erreichen, dass automatisch zwischen den Worten im Suchtext die Funktion "und" oder "und / oder" aktiv ist.
    Wie kann ich also wie in einer Suchmaschine mehrere Begriffe suchen, ohne dass die Begriffe zusammen stehen?

    Beispiel:

    Suchtext: "Haus Garten"
    DB-Inhalt: " ein Haus mit Garten"
    Bei LIKE '%$suchtext%' wird der DB-Satz nicht gefunden.


    Wer hat eine Lösung?

    Schon mal Dank im vorraus!
Lädt...
X