suche in mysql

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

  • suche in mysql

    ich habe eine suchmaske für mysql durch ein html formular gemacht. Diese funktioniert auch bis auf die tasache daß wenn man im eingabefeld mehr als ein begriff eingibt die suche erfolglos durchgeführt wird. Jemand ein tip woran das liegen könnte und was man dagegen machen kann??

  • #2
    hmmm,
    dafür bräuchte ich deinen SQL Query um zu entscheiden, ich denke einfach mal dass die SELECT blabla FROM tabelle WHERE suchspalte like "%$suchstring%" gemacht hast, das funktioniert aber dann mit mehreren Begriffen nicht , ich löse das so :
    Code:
    ....
    ....
    ....
    $worte = explode(" ",$suche); ///der string mit den Worten wird aufgetrennt
          $anzahlworte=0;
          while($worte[$anzahlworte] <> "")
             {
               $anzahlworte++;
             }
          $anzahlworte--;
    ....
    ....
    ....
    ....
    $query = "";
                         $query = "SELECT topicbeitraege.*, user.pseudonym, topics.topicname FROM topicbeitraege, topics, user WHERE topics.fid=".$suchforen." AND topics.tid = topicbeitraege.tid AND user.erstellerid = topicbeitraege.erstellerid";
                         for ($zaehler=0;$zaehler<=$anzahlworte;$zaehler++)
                           {
                             $query=$query." AND topicbeitraege.beitrag LIKE \"%".$worte[$zaehler]."%\"";
                           }
     // und hier wird der Querystring erzeugt :)
    ....
    ...
    Du musst also jedes Wort einzeln in eine LIKE anweisung einbauen, naja aber das frisst sehr viel Resourcen

    Kommentar


    • #3
      Ich würd OR statt AND benutzen.
      (mit AND werden nur Beiträge gefunden, bei denen der Suchbegriff in ALLEN Feldern vorhanden ist.)
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar

      Lädt...
      X