[MySQL] - pomijanie błedów usera
JaRudzik - 13-07-2006 01:46
[MySQL] - pomijanie błedów usera
Mam taki problem W bazie danych w tabeli 'tabela' trzymam nazwy miejscowosci
| miejscowosci | Łódz Kraków ....
Userzy z uporem maniaka probuja znaleść np: Lodz Uzywam takiego zapytania
SELECT * FROM tabela WHERE miejscowosci LIKE '%$nazwa%'
Obeszłem to tak ze w razie braku wyników wyszukiwania probuje przeszukac baze dla
SELECT * FROM tabela WHERE miejscowosci LIKE '__d_'
czyli wszystkie znaki diaktryczne zamieniam na '_' dowolny jeden znak i dla poleprzenia jakosci wyników opuszczam '%' (zeby nie zwracało np: Lądek Zdrój) ma to jedna wade jak facio mi wpisze Ladek nie bedzie w wynikach wyszukiwania Ladek Zdrój :(
Mam wrazenie ze trzeba to załatwic jeszcze na poziomie tabeli 'miejscowosci' czyli wybierac od razu Lodz LIKE ' Czy moze ktoś mi pomóc
Pozdrawiam Rafał
SuperTen - 13-07-2006 01:46
JaRudzik napisał(a): > Mam taki problem > W bazie danych w tabeli 'tabela' trzymam nazwy miejscowosci > > | miejscowosci | > Łódz > Kraków > ... > > Userzy z uporem maniaka probuja znaleść np: Lodz > Uzywam takiego zapytania > > SELECT * FROM tabela WHERE miejscowosci LIKE '%$nazwa%' > > Obeszłem to tak ze w razie braku wyników wyszukiwania probuje przeszukac > baze dla > > SELECT * FROM tabela WHERE miejscowosci LIKE '__d_' > > czyli wszystkie znaki diaktryczne zamieniam na '_' dowolny jeden znak i dla > poleprzenia jakosci wyników opuszczam '%' (zeby nie zwracało np: Lądek > Zdrój) > ma to jedna wade jak facio mi wpisze Ladek nie bedzie w wynikach > wyszukiwania Ladek Zdrój :( > > Mam wrazenie ze trzeba to załatwic jeszcze na poziomie tabeli 'miejscowosci' > czyli wybierac od razu Lodz LIKE ' > Czy moze ktoś mi pomóc
polskie literki zamieniaj na ich odpowiedniki czyli "ą" na "a" a nie "ą" na "_"
-- _________ / , _ \ | Pozdrawiam. SuperTen. | `. '|(_) .' | "...Codziennie gdy wstajesz, otrzymujesz | `. .' | szansę, aby stać się lepszym..." | `.' | ...@..%..+ $this->wyslij(); |
JaRudzik - 14-07-2006 02:45
> polskie literki zamieniaj na ich odpowiedniki czyli "ą" na "a" a nie "ą" > na "_"
No własnie i na tym stanąłem jak to zrobic zeby pobrac z bazy ze zmienionymi znakami ; /
R.
JaRudzik - 14-07-2006 02:45
Jupiiiii Mam :)
SELECT * FROM `tabela` WHERE REPLACE ( miejscowosc, 'ó', 'o' ) LIKE 'Krakow'
BTW dzieki za pomoc Rafał
Użytkownik "JaRudzik" <jarudzik102@poczta.onet.pl> napisał w wiadomości news:e94pnu$csp$1@news.onet.pl... > > > polskie literki zamieniaj na ich odpowiedniki czyli "ą" na "a" a nie "ą" > > na "_" > > No własnie i na tym stanąłem > jak to zrobic zeby pobrac z bazy ze zmienionymi znakami ; / > > R. > >
Rafal sxat - 15-07-2006 01:26
=?iso-8859-2?Q?Re:_=5BMySQL=5D_-_pomijanie_b=B3ed=F3w_usera?= ----- Original Message ----- From: "JaRudzik" <jarudzik102@poczta.onet.pl> To: <pl-comp-bazy-danych@newsgate.pl> Sent: Thursday, July 13, 2006 9:01 AM Subject: Re: [MySQL] - pomijanie błedów usera
> Jupiiiii > Mam :) > > SELECT * > FROM `tabela` > WHERE REPLACE ( miejscowosc, > 'ó', > 'o' ) > LIKE 'Krakow' > > BTW dzieki za pomoc > Rafał >
to moze lepiej tak :? choc jak z wydajnoscia nie wiem....
WHERE miejscowosc regexp "kr[oó][łl]"
-- Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.pllubiatowo.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|