RE: problem s cestinou v PHP/Mysql

From: Lanc Zdeněk (Zdenek.Lanc@czech-tv.cz)
Date: 01. 03. 2002, 11:20 CET


Diky,
zkusim to a uvidim, jak to bude behat (db ma 7tis.zaznamu v 5 tabulkach, z
nihz kazda ma 20 sloupcu - v tom hledat fulltextem bude asi pekna fuska).
Dam vedet, jak je to rychle a ucinne.

Diky moc
Yd.




Dobry den,
ja ve svych projektech pouzivam nasledujici kontrukci.
Slouzi k vyhledavani bez ohledu na diakritiku.

Neni to moc rychle, ale nastesti fulltextove prohledavani
prispevku se casto zase tak nepouziva.

Ve skriptech pozivam toto volani:

"SELECT polozky FROM tabulka WHERE ".Odcesti($searchtext, 'nazevsloupecku')

A funkce Odcesti vypada takto:

<? function Odcesti($slovo,$nazevsloupce)
{

$exp = explode(" ", strtolower($slovo));
$query = implode("%", $exp);

$query=StrTr($query,
"\xC1\xC8\xCF\xC9\xCC\xCD\xBC\xD2\xD3\xD4\xD8\x8A".
"\x8D\xDA\xD9\xDD\x8E\xE1\xE8\xEF\xE9\xEC\xED".
"\xBE\xF2\xF4\xF3\xF8\x9A\x9D\xFA\xF9\xFD\x9E",
"acdeeilnoorstuuyzacdeeilnoorstuuyz");

return " LOWER(
REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(
REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(
REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(
REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(
REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(
REPLACE( REPLACE( REPLACE( REPLACE( REPLACE($nazevsloupce,
'\xC1','a'),'\xC8','c'),'\xCF','d'),'\xC9','e'),'\xCC','e'),
'\xCD','i'),'\xBC','l'),'\xD2','n'),'\xD3','o'),'\xD4','o'),
'\xD8','r'),'\x8A','s'),'\x8D','t'),'\xDA','u'),'\xD9','u'),
'\xDD','y'),'\x8E','z'),'\xE1','a'),'\xE8','c'),'\xEF','d'),
'\xE9','e'),'\xEC','e'),'\xED','i'),'\xBE','l'),'\xF2','n'),
'\xF4','o'),'\xF3','o'),'\xF8','r'),'\x9A','s'),'\x9D','t'),
'\xFA','u'),'\xF9','u'),'\xFD','y'),'\x9E','z')) like '%$query%'";
}?>

Jana Kucerova
juk@centrum.cz
http://www.juk.cz/php/
Odkazy k PHP a MySQL na ceskem a slovenskem internetu.




-- 
-- Konference magazinu Internet -------------- servis-internet --
-- Pravidla: http://pravidla.kab.cz ------ FAQ: http://faq.kab.cz
-- Archiv a instrukce pro odhlaseni: http://internet.nawebu.cz



This archive was generated by hypermail 2.1.2 : 01. 03. 2002, 11:20 CET