![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Postów: 0 Pomógł: Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich
Mam prostą wyszukiwarke i takie zapytanie do bazy: [php:1:e5d8cd73f5]<?php $query = mysql_query("SELECT * FROM dane WHERE " . $_REQUEST['kryterium'] . " LIKE '%" . $_REQUEST['wartosc'] . "%' order by tytul LIMIT $p, $ile"); $numrows = "SELECT count(*) FROM dane WHERE " . $_REQUEST['kryterium'] . " LIKE '%" . $_REQUEST['wartosc'] . "%'"; list($liczba_wynikow) = @mysql_fetch_row(@mysql_query($numrows)); ?>[/php:1:e5d8cd73f5] Problem polega na tym że... rozpoznaje wielkość liter. Mianowiecie jeżeli mam tytuł "Łzy słońca" to wyszukiwarka znajdzie go, ale tylko jeżeli jako wartość wyszukiwania wpisze "Łzy słońca" a chce aby znajdował go również gdy wpisze pierwszą litere jako małą - "łzy słońca" Jak to rozwiązać?? będe wdzięczny za każdą pomoc! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 29.04.2002 Skąd: jesteś? Ostrzeżenie: (0%) ![]() ![]() |
mysql daje mozliwosc zamiany wielkosci liter w poszukiwanych wartosciach, za pomoca funkcji lower i upper, ale nie wiem jak one sobie poradza z polskimi literkami.
mozesz rowniez zmieniac wielkosc liter w tym co wprowadzi uzytkownik do wyszukiwania. ale to takze nie jest chyba debeściarskie rozwiazanie |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
MySQL domyslnie ma wylaczone case-sensitivity, wiec musiales stworzyc pola tekstowe albo jako blob albo z wlasnoscia BINARY skoro rozrozna Ci litery duze i male.
Jesli z jakis powodow nie chesz tego zmieniac mozesz poprostu przekonwertowac oba sprawdzane stringi do duzych/malych liter i wtedy porownywac. [sql:1:9ac3a6492d]SELECT * FROM dane WHERE UPPER(pole) LIKE UPPER('%szukany_ciag%') ORDER BY tytul LIMIT ....[/sql:1:9ac3a6492d] Musisz jednak pamietac, ze w tym przypadku musisz miec w mysql'u ustawione odpowiednie kodowanie (takie w jakim masz teksty w bazie, czyli np. ISO-8859-2), zeby mogl on zmienic male polskie litery (ążść...) na duze. PS. php P. -> Bazy danych |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.08.2025 - 11:38 |