Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Wyszukiwanie tylko określonej frazy
joka13
post 28.03.2010, 13:10:55
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 31.07.2009

Ostrzeżenie: (0%)
-----


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. }


Ten post edytował joka13 28.03.2010, 17:00:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nospor
post 28.03.2010, 13:25:55
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
joka13
post 28.03.2010, 13:29:03
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 31.07.2009

Ostrzeżenie: (0%)
-----


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.

Ten post edytował joka13 28.03.2010, 13:29:19
Go to the top of the page
+Quote Post
nospor
post 28.03.2010, 13:30:16
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




wiesz, bardziej mi chodzilo bys uzyla :
=

Like w tym przypadku jest zbedny i generuje niepotrzebny narzut


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
joka13
post 28.03.2010, 13:39:40
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 31.07.2009

Ostrzeżenie: (0%)
-----


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.

Ten post edytował joka13 28.03.2010, 16:58:05
Go to the top of the page
+Quote Post
nospor
post 28.03.2010, 13:50:56
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zlituj sie... wywal te procenty...

i zacznij wkoncu uzywac wlasciwe bbcode


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
joka13
post 28.03.2010, 14:01:15
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 31.07.2009

Ostrzeżenie: (0%)
-----


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ę.
Go to the top of the page
+Quote Post
nospor
post 28.03.2010, 14:09:00
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:44