Problem bei MySQL-Abfrage

  • Hi...


    ich würde gerne meine Datenbank mit einem Script durchsuchen...


    Das Prob ist im mom, dass wenn ich z.B. in meiner DB den Eintrag "Maximilian" stehen habe, sollte, wenn man "Max" in das Formular eingibt alle Datensätze, in denen in der Spalte "Name" ein Wort mit "Max" vorhanden ist, angezeigt werden...


    aber wie stelle ich das an???



    Danke im Voraus

  • mit Like und %


    WHERE name LIKE %max%


    würde z.B Maximilian, Unmaximiert, Bammax auslesen..


    Geht auch anders mit
    max%
    dann muss max am anfang stehen
    und bei
    %max
    am ende.


    <!-- m --><a class="postlink" href="http://dev.mysql.com/doc/refman/5.1/de/string-comparison-functions.html+">http://dev.mysql.com/doc/refman/5.1/de/ ... ions.html+</a><!-- m -->
    <!-- m --><a class="postlink" href="http://www.mysqltutorial.org/sql-like-mysql.aspx">http://www.mysqltutorial.org/sql-like-mysql.aspx</a><!-- m -->


    Wichtig ist aber, das das ganze ziemlich performenz lastig ist. Daher würde ich solche suchen nur auf gut Indexierte Tabellen und Felder loslassen.



    Greetz TimTim

  • danke...


    werde es direkt mal testen...



    Das Prob bei meiner DB ist halt, dass dort Internet-Radios registriert sind, die der User über diese Suchfunktion finden soll...


    und wenn derjenige, der das Radio registriert hat als Name z.B. Web-Radio eingegeben hat, der User aber nach Webradio sucht, dann wird es nicht angezeigt...
    und das wollte ich verhindern...
    oder wenn er eben nur einen Teil des Namens kennt...

  • Naja, dann brauchst eben gute Such algorhytmen.. musst die zu suchende daten eben vorher aufbereiten.. z.B das ae auch ä ist oder wie das schöne phenomän..
    der name Meier.. oder Maier oder Meyer oder Mayer.. ach was weis ich ;-).


    Hab das bei mir der einfachheitshalber so gelöst gehabt.


    1. abfrage genauer string.
    2. String in wort
    3. Ersten 3 buchstaben des eingegebenen strings.


    So kannst eine große mänge abdecken.. das das natürlich nicht die besten ergebnisse sind ist klar. Aber bei kleineren datenbanken geht das ganz gut.


    Greetz Timtim

  • hmm....
    Interressant würdest du mal ein beispiel für die aufbereitung bringen also wie du die daten aufbereiten würdest... ?


    wenn ich das bisher richtig verstanden hab wird über %string% alles aus der db gesucht was in relevanz mit dem eingegebenen steht ?



    MFG
    R4Zz0R