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