tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
274
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von splat
    splat splat ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Ort
    Sydney, Australia
    Beiträge
    311
    Hi,
    ich habe bereits eine Suchfunktion die so funktioniert:

    PHP-Code:
    <?
    $search 
    trim(strtolower(nvl($_REQUEST["suche_artikel"])));
    if (
    $search) {
        
    $qid_artikel get_products($search);
    } else {
        
    $url match_referer() || empty($_SERVER["HTTP_REFERER"]) ? "$CFG->wwwroot/.admin" $_SERVER["HTTP_REFERER"];
        
    header("Location: $url");
        die;
    }

    $DOC_TITLE "Suchergebnisse";
    include(
    "templates/header.php");
    include(
    "templates/suche_artikel.php");
    include(
    "templates/footer.php");

    /******************************************************************************
     * FUNCTIONS
     *****************************************************************************/

    function get_products($search$max_results=5000) {
    /* get all the products under this category */

        
    $qid db_query("
        SELECT
             p.id
            ,p.name
            ,p.artikelnr
            ,p.preis
            [...]
        FROM products p
        WHERE (lower(p.name) LIKE '%
    $search%' OR lower(p.artikelnr) LIKE '%$search%')
        LIMIT 0, 
    $max_results
        "
    );

        return 
    $qid;
    }
    ?>
    Mein Problem ist jetzt, das ich immer nur nach einem exakten String suchen kann. Angenommen ich suche nach "shirt blau", dann finde ich einen Artikel der in der Datenbank unter "shirt größe L blau" steht, nicht. Die Suchbegriffe sollten also nicht "zusammenhängen". Kann mir jemand einen Tip geben wie ich das realisieren kann?

    Gruß, Marc
     

  2. #2
    German German ist offline Mitglied Brokat
    Registriert seit
    Jul 2004
    Ort
    (Bayern)
    Beiträge
    464
    PHP-Code:
    $search '%'.str_replace(' ''%'$search)'%'
     
    Gruß German

  3. #3
    Avatar von splat
    splat splat ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Ort
    Sydney, Australia
    Beiträge
    311
    Hallo German!
    Danke für deine schnelle Hilfe!

    Ich habe das ganze mal so abgeändert, um zu schauen ob es geht:

    PHP-Code:
    line 4:   $search1 trim(strtolower(nvl($_REQUEST["suche_artikel"])));
    line 5:   $search '%'.str_replace(' ''%'$search1)'%'
    Bekomme aber nun folgenden Fehler:

    Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /web/.admin/suche_artikel.php on line 5

    Was soll denn daran noch falsch sein?
     

  4. #4
    German German ist offline Mitglied Brokat
    Registriert seit
    Jul 2004
    Ort
    (Bayern)
    Beiträge
    464
    PHP-Code:
    line 4:   $search1 trim(strtolower(nvl($_REQUEST["suche_artikel"])));
    line 5:   $search '%'.str_replace(' ''%'$search1).'%'
    Sorry, da fehlte der 2. Punkt ...

    Ach ja m.W. kannst Du strtolower bleiben lassen, da die Gaudi eh nicht case sensitive ist.
     
    Gruß German

  5. #5
    Avatar von splat
    splat splat ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Ort
    Sydney, Australia
    Beiträge
    311
    oh, man danke dir!
    Hab echt zuerst viel zu kompliziert gedacht...

    Jetzt klappts wunderbar!

    Gruß, Marc
     

Ähnliche Themen

  1. Brauche bzgl. Tutorial Stichwörtern Hilfe.
    Von Bueny im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 25.09.09, 00:07
  2. Datenbanksuche
    Von asupp im Forum PHP
    Antworten: 5
    Letzter Beitrag: 28.04.09, 12:24
  3. Datenbanksuche mit Blätterfunktion
    Von elena6 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 17.08.05, 15:57
  4. Datenbanksuche
    Von online-markus im Forum PHP
    Antworten: 2
    Letzter Beitrag: 22.03.05, 17:22
  5. Suche in Dateien nach Stichwörtern (Lokal & Lan)
    Von stonedjehova im Forum Office-Anwendungen
    Antworten: 3
    Letzter Beitrag: 15.04.04, 12:32