Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Wyszukiwanie tylko określonej frazy
Forum PHP.pl > Forum > Przedszkole
joka13
Witam
Do swojej strony z bazą w mysql'u dorobiłem wyszukiwarkę, jednak nie do końca prawidłowo ona działa.
Otóż, gdy chcę wyszukać przykładowo wszystkie rekordy '12345', to w wyniku otrzymam, to co oczekiwałem, czyli '12345', ale dostanę także '12345*'.
Czyli wszystko co rozpoczyna się ciągiem znaków '12345'.
Co zrobić, abym w wyniku otrzymywał, tylko szykaną frazę?

Oto mój fragment kodu:
  1. if (!empty($_GET['search']))
  2. {
  3. $sql = 'SELECT * FROM `'.$mysql['prefix'].'status` WHERE nr_przes_stat LIKE \'%'.mysql_escape_string($_GET['search']).'%\' ORDER BY data_stat ASC';
  4. }
nospor
Dlaczego uzywacie rzeczy nie wiedząc jak one dzialają?

PRzeczytaj w manualu mysql jak działa LIKE

ps: przejrzyj dokladnie to:
http://dev.mysql.com/doc/refman/5.0/en/com...-operators.html
joka13
Ale głupi błąd, wystarczyło w sekcji LIKE usunąć % przed i po szukanej frazie - ciekawe skąd w ogóle wykombinowałem, żeby to wpisać tam.

Dzięki za nakierowanie.
nospor
wiesz, bardziej mi chodzilo bys uzyla :
=

Like w tym przypadku jest zbedny i generuje niepotrzebny narzut
joka13
Fakt, tak działa także:
  1. $sql = 'SELECT * FROM `'.$mysql['prefix'].'status` WHERE nr_przes_stat = \''.mysql_escape_string($_GET['search']).'\' ORDER BY data_stat ASC';


Już wiem skąd wziął mi się ten LIKE - wcześniej kombinowałem z COUNT. Nawet ładnie działało, ale na potrzeby mojej strony było to trochę nieefektywne.

Dzięki za pomoc.
nospor
zlituj sie... wywal te procenty...

i zacznij wkoncu uzywac wlasciwe bbcode
joka13
Procentów w pliku nie mam, w poście zapomniałem usunąć.

Co do bbcode, to dostałem kiedyś 'info', że używam php, sql, ... do 3 linijek kodu - więc tak nie robię.
nospor
Cytat
Co do bbcode, to dostałem kiedyś 'info', że używam php, sql, ... do 3 linijek kodu - więc tak nie robię.
Nie rozumiem... Przedstawiasz tutaj kod php ktory bierzesz w bbcode QUOTE. Grzecznie ci więc wyjasniam, ze kod php bierze sie w bbcode PHP i grzecznie cię proszę byś się do tego stosował.

Jak juz nie chcesz jednolinijkowego kodu brac w bbcode to nie bierz wogole a nie dajesz go w QUOTE. QUOTE sluzy do cytowania.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.