Ähnliche Namen herausfiltern
Pascal L.
- datenbank
Hallo!
Ich hab eine Datenbank mit mehreren Tabellen in denen verschiedene Namen eingetragen sind. Ich möchte nun ein PHP-Script das mir von allen Einträgen ähnliche herausfiltert (z.b. die ersten 3. buchstaben gleich, die letzten 3 gleich, in der "mitte" 3 gleiche, usw.)
Die Grundstruktur kann ich mir vorstellen nur fehlt mir ein Algorithmus zum "Vergleichen" der Namen. Das ganze ist nur für einen einzigen Durchlauf also will ich nicht soviel Zeit investieren.
Kann mir da jemand Quellen nennen? Oder vielleicht ein ähnliches Script zeigen? Vielleicht kennt ja auch jemand ein passenes Programm, das solche Vergleiche macht?
Grüße, Pascal.
hi
wenn du eine Datenbank hast, warum nutzt du nicht SQL und LIKE?
mit einer recht simplen query ließe sich das lösen.
so long
ole
(8-)>
yo,
wenn du eine Datenbank hast, warum nutzt du nicht SQL und LIKE?
mit einer recht simplen query ließe sich das lösen.
ich befürchte, ganz so simpel wie du das darstellst ist es nicht. es müsste schon eine unterabfrage her, da ein vergleich der einzelnen datensätze stattfinden muss und selbst dann bin ich mir noch nicht ganz sicher, wie das mit LIKE funktionieren soll. Da steckt schon ein wenig programierung dahinter, egal ob man nun über die datenbanmk geht oder ein script. es sei den, du weisst man auf die schnelle eine lösung....
Ilja
ich befürchte, ganz so simpel wie du das darstellst ist es nicht. es müsste schon eine unterabfrage her, da ein vergleich der einzelnen datensätze stattfinden muss und selbst dann bin ich mir noch nicht ganz sicher, wie das mit LIKE funktionieren soll.
Ilja
Ja. Das ist mir schon bewusst. Die einzelnen Einträge zu Selecten und dann mit jedem anderen zu Vergleichen ist ja kein Problem. Wie gesagt: Ich benötige eben eine fertige Prozedur die mir die Vergleiche zaubert.
Ein Versuch mit LIKE bringt schon was hervor, was allerdings fernab eines sinnvollen Ergebnisses liegt!
yo,
ich denke mal, deine erste aufgabe besteht darin, dir genau zu überlegen, nach welchen kriterien eine gleichheit festgestellt werden soll oder mit anderen worten, die regeln festlegen, wann zwei wörter als gleich gelten. je nach deinen kritereien, kann man dann die logik in ein programm oder datenbank abbilden.
Ilja
Mögliche Lösungen die ich jetzt versuche:
string soundex ( string str)
Errechnet den Wert der Laut-Ähnlichkeit von str.
int similar_text ( )
Berechnet die Ähnlichkeit zweier Zeichenketten
jeweils in PHP!
Grüße Pascal.