Mailinglisten-Archive |
> -----Original Message-----
> From: Cyrill Schumacher [mailto:webmasterbhs_(at)_bluewin.de]
> Sent: Keines
> To: mysql-de_(at)_lists.4t2.com
> Subject: Re: phonetische Suche
>
[...]
>
> das ist einfach, aber leider geht es nur mit workaround,
> da php nur einen 4 char langen soundex zurückliefert...
> ich habe mir also den kompletten soundex von mysql generieren
> lassen und mit php dann den ersten buchstaben (in deinem
> fall das "H") abgeschnitten, somit habe ich dann nur
> noch eine zahlen kette, die man genial mit einer
> weiteren abfrage auf die tabelle einsetzen kann
> und somit auch in deinem fall den zweiten firmen
> namen heraus bekommt.
>
> $sres = mysql_query("select soundex('".$sq."') as sou");
> $sar = mysql_fetch_array($sres);
> $mysound = eregi_replace("^[a-z]","",$sar["sou"]);
> //echo $mysound." - ".$sar["sou"]."<hr>";
> $sel = "select pname,rowcontent from $wtctab where
> soundex(rowcontent) like
> '%$mysound%' order by pname";
>
> noch fragen ?
>
[...]
Ja, leider...
Erst einmal vielen Dank für Deine Antwort.
Die Idee ist grundsätzlich sehr gut, funktioniert aber leider nicht so wie
sie sollte. Beispiel:
mysql> select soundex('hans Herrmann Heizungsbau GmbH');
+-------------------------------------------+
| soundex('hans Herrmann Heizungsbau GmbH') |
+-------------------------------------------+
| H52652521251 |
+-------------------------------------------+
1 row in set (0.00 sec)
mysql> Select soundex('Karl Hermann Gmbh&Co. KG');
+-------------------------------------+
| soundex('Karl Hermann Gmbh&Co. KG') |
+-------------------------------------+
| K64652512 |
+-------------------------------------+
1 row in set (0.05 sec)
mysql> select soundex('Herrmann');
+---------------------+
| soundex('Herrmann') |
+---------------------+
| H650 |
+---------------------+
1 row in set (0.11 sec)
>
Die 650 (ohne 'H') tauchen bei den anderen 'soundexes' gar nicht erst auf
(dort ist es 652), deshalb würde auch ein 'select firmenname from tabelle
where soundex('firmenname') like '%650%';' nicht erfolgreich sein.
Bis dann,
Matthias
---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive