MySQL Suche

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

  • MySQL Suche

    Hallo,

    ich möchte eine einfache Suche:

    ich habe ein Table mit 3 Spalten: id, vorname, nachname

    Nun möchte ich, dass die Leute auf meiner Seite diesen Table (mss_user( durchsuchen können.

    Da ich nicht weiß, wie viele Namensteil und in welcher Reihenfolge sie die Daten eingeben (Vorname Nachname oder andersrum), weiß ich nicht genau, wie ich die Suche machen soll...

    ich habe es versucht, mit der MySQL Fulltext Suche:
    http://dev.mysql.com/doc/refman/5.0/...xt-search.html

    Leider steht am Ende:
    Such a technique works best with large collections (in fact, it was carefully tuned this way). For very small tables, word distribution does not adequately reflect their semantic value, and this model may sometimes produce bizarre results. For example, although the word MySQL is present in every row of the articles table, a search for the word produces no results:
    Das habe ich auch bei folgendem Code gemerkt:

    PHP-Code:
    function search_person($name) {
        
    $sql "SELECT
                    id, nachname, vorname,
                MATCH (vorname, nachname) AGAINST ('"
    .$name."') AS score
                FROM mss_user
                WHERE MATCH (vorname, nachname) AGAINST ('"
    .$name."')";
        
    $res mysql_query($sql) or die(mysql_error());
        
    $array = array();
        while(
    $row mysql_fetch_assoc($res)) {
            
    $array[] = $row;
        }
        return 
    $array;


    wenn ich nun noch dazufüge " IN BOOLEAN MODE", wie auf der ächsten Seite des Manuals beschrieben, dann findet er bei oberem Code nurnoch jeweils eine Spalte.

    Also angenommen mehrere Spalten wären betroffen mit je einem Treffer in Vorname oder Nachname, dann wird nurnoch einer dieser Name ausgegeben!

    Wie könnte ich eine Suche meiner Art am besten realisieren?

    Danke!

    Edit: hat sich erledigt!
    Zuletzt geändert von firstlord18; 19.10.2005, 12:05.
Lädt...
X