andrisp Posted October 17, 2005 Report Share Posted October 17, 2005 Var uztaisiit kautkaa, lai pieprasot msqyl serverim kautko atlasiit piem ar 'Šķūnis' vinjs atlasiit gan 'Šķūnis', gan 'Skunis' ? Link to comment Share on other sites More sharing options...
Delfins Posted October 17, 2005 Report Share Posted October 17, 2005 Roze kaut ko mocījās atceros.. un laikam bija topiks Risinājums arī laikam bija viens no, - veidot vēl vienu indeksētu lauku.. Link to comment Share on other sites More sharing options...
Roze Posted October 17, 2005 Report Share Posted October 17, 2005 Nu var taisīt uber kveriju ar mysql Regexpiem [š|s][ķ|k][ū|u]nis bet vienkāršāk kā jau Delfins teica ir saglabāt papildus lauku bez liekajiem simboliem un meklēt tajā (pirms tam protams ievadīto kveriju arī pārtaisīt tikai uz latīņu burtiem). Link to comment Share on other sites More sharing options...
andrisp Posted October 17, 2005 Author Report Share Posted October 17, 2005 (edited) Nu var taisīt uber kveriju ar mysql Regexpiem [š|s][ķ|k][ū|u]nis bet vienkāršāk kā jau Delfins teica ir saglabāt papildus lauku bez liekajiem simboliem un meklēt tajā (pirms tam protams ievadīto kveriju arī pārtaisīt tikai uz latīņu burtiem). 24833[/snapback] mosh vareetu uzrakstiit kaadu inchiigu fju kas automaatiski uztaisa regexpu visai rindai kas tiek padota.. bet cik tas ir droshi straadaat ar latvieshu burtiem ieksh php un mysql ? vai kur $rez['text'] ņemts no mysql tabulas un satur 'Šķūnis' (bet piemeeram citaa encodingaa, piem, utf-8) if ('Šķūnis' = $rez['text']) { } buus true ? man nav iisti izpratnes par tiem encodingiem un kaa tur viss notiek. Edited October 17, 2005 by andrisp Link to comment Share on other sites More sharing options...
Roze Posted October 17, 2005 Report Share Posted October 17, 2005 Nu visi mīkstināmie burti jārepleiso par [a|ā] utt.. Sarakstīt arrayu ar repleisiem ganjauka varēsi pats, bet diezvai tas atmaksājas.. if ('Šķūnis' == $rez['text']) { Būs true tad ja tev saglabātais php faila encodings sakritīs ar no datubāzes saņemto charsetu. Proti ja tev DB ieraksts būs win1257 encodējumā bet php failu labosi UTF8 (vai arī otradi) tad nosacījums neizpildīsies. Ja DB ir UTF8 tad arī php fails jāseivo kā UTF8, bet ja CP1257 tad attiecīgi arī fails tā, jebšu jāizmanto PHP (iconv/mb funkcijas) vai arī jāieseto MySQLam kādā charsetā rezultāts jāatgriež. Link to comment Share on other sites More sharing options...
Delfins Posted October 17, 2005 Report Share Posted October 17, 2005 if ('Šķūnis' = $rez['text']) { } buus true ? = -> == Link to comment Share on other sites More sharing options...
hmnc Posted October 17, 2005 Report Share Posted October 17, 2005 ja pareizi sapratu tad var arī taisīt nedaudz kreisu variantu: 1. getojam search stringu ar garumzīmēm 2. uzlaižam replaci un repleisojam visu ar parastiem burtiem 3. tagad mums ir divi stringi - ar un bez garumzīmēm 4. taisam queriju ar norādi, ka lauks var saturēt vai nu vienu vai otru stringu pie nelielām bāzītēm domājams šitais variants tīri labi darbojas, bez papildus tabulu alterēšanas :) Link to comment Share on other sites More sharing options...
Roze Posted October 17, 2005 Report Share Posted October 17, 2005 ja pareizi sapratu tad var arī taisīt nedaudz kreisu variantu:1. getojam search stringu ar garumzīmēm 2. uzlaižam replaci un repleisojam visu ar parastiem burtiem 3. tagad mums ir divi stringi - ar un bez garumzīmēm 4. taisam queriju ar norādi, ka lauks var saturēt vai nu vienu vai otru stringu pie nelielām bāzītēm domājams šitais variants tīri labi darbojas, bez papildus tabulu alterēšanas :) 24840[/snapback] Neiet īsti cauri, jo juzeris var ierakstīt 'sķunis' 'šķunis' 'skūnis' utt.. un nav mehānisma kā tu OR vari uztaisīt neizmantojot regexpu konkrētiem mīkstināmajiem burtiem.. līdz ar to papildus lauks ar tikai 'skunis' un search stringa repleiss uz 'skunis' dos vēlamo un vienkāršāko efektu.. Link to comment Share on other sites More sharing options...
Delfins Posted October 17, 2005 Report Share Posted October 17, 2005 nu vismaz 118 tas strādā un es to izmantoju PS: (laikam Roze nopelns?) Link to comment Share on other sites More sharing options...
hmnc Posted October 17, 2005 Report Share Posted October 17, 2005 Neiet īsti cauri, jo juzeris var ierakstīt 'sķunis' 'šķunis' 'skūnis' utt.. un nav mehānisma kā tu OR vari uztaisīt neizmantojot regexpu konkrētiem mīkstināmajiem burtiem.. līdz ar to papildus lauks ar tikai 'skunis' un search stringa repleiss uz 'skunis' dos vēlamo un vienkāršāko efektu.. 24841[/snapback] ok - got tha point :) aizdomājos par viena virziena (translita) searchu. Link to comment Share on other sites More sharing options...
Recommended Posts