+ Antworten
Ergebnis 1 bis 2 von 2

Thema: rechts-links-trunkierung

  1. #1
    TP-Senior jackie_o macht alles soweit korrekt
    Registriert seit
    Nov 2004
    Beiträge
    135

    rechts-links-trunkierung

    moin!

    noch ne Frage die mich zum wahnsinn treibt:

    möchte meine DB (natürlich) möglichst komfortabel + sinnvoll abfragen lasssen.

    Wenn ich nun z.b. einen Ort, nehmen wir "Bad Bramstedt", finden will, möchte ich die Eingaben "Bad Bramstedt" und "Bramstedt" erlauben.
    Mindesteingabe wie gehabt 3 Zeichen.

    a) LIKE '$strSearch%' >> finder Bramstedt nicht
    b) LIKE '%$strSearch%' >> zuviele sinnlose Treffer
    c) LIKE '% $strSearch%' >> findet Bad Bramstedt nicht, weil er auf dem Blank besteht

    Ich hab schon probiert vor alle Einträge ein Leerzeichen in die Datenbank zu packen, aber entweder hab ich was falsch gemacht oder das wird ignoriert???

    Hat jemand ne Idee?

    Gruß Jackie

  2. #2
    jph
    jph ist offline
    TP-Veteran jph ist auf einem guten Weg Avatar von jph
    Registriert seit
    Apr 2001
    Beiträge
    1.577

    Lightbulb

    Hallo,

    gestalte dein Suchscript so, dass es den suchstring erst zerlegt und dann nach den einzelnen begriffen sucht. Also in etwa so:
    Code:
    function suche ($suchstr)
    {
    $split = split("-",$suchstr);
    
    for ($i=0;$i<count($split);$i++)
    {
        $query.=" stadt LIKE '%$split[$i]%' OR';
    }
    $query = substr(strlen($query)-3,strlen($query),$query); //damit das letzte OR wegfällt
    
    
    return $query;
    
    }
    Das ganze ist gerade nicht getestet, bisher zerlegt es den Suchstring nur bei einem Bindestrich, da kannst du noch andere Zeichen (Leerzeichen, Leerzeile etc. ) einbauen.

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51