Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Znaki globalne w stringu
butek
post 4.02.2013, 21:29:51
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 3.05.2008

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


Jest zmienna $a która przechowuje pewien string. String ten został dostarczony przez formularz. Jak zrobić aby ten string był początkiem jakiegoś innego. Tzn. przychodzi gość i szuka nazwisk w bazie i zna tylko początkowe jakieś znaki, wpisuje np. pierwszą literę i dostaje wszystkie wyraz zaczynające się na daną literę.
Go to the top of the page
+Quote Post
sajegib
post 4.02.2013, 21:32:54
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


SQL

  1. LIKE


Go to the top of the page
+Quote Post
Tajgeer
post 4.02.2013, 21:33:35
Post #3





Grupa: Zarejestrowani
Postów: 290
Pomógł: 48
Dołączył: 11.05.2008
Skąd: Kielce

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


Przy zapytaniach do bazy danych możesz skorzystać np. z operatora LIKE.
Go to the top of the page
+Quote Post
Sephirus
post 5.02.2013, 08:40:09
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Tak jak moi przedmówcy pisali jeśli chodzi o bazę danych wystarczy użyć LIKE:

  1. SELECT * FROM uzytkownicy WHERE nazwisko LIKE '%{$a}%'


Ważne są znaki % przed i po ciągu. Oznaczają one, że przed i za ciągiem mogą istnieć jeszcze inne znaki. Ze względu na wydajność jednak najlepszym rozwiązaniem jest tutaj pominięcie pierwszego znaku % - czyli szukanie nazwisk zaczynających się od $a. Dzięki temu możemy wykorzystać indeks. Ważne jest aby pole po którym szukasz miało ustawiony index w strukturze tabeli.

  1. -- wydajniej:
  2. SELECT * FROM uzytkownicy WHERE nazwisko LIKE '{$a}%'



Dodatkowo jeśli chcesz osiągnąć to samo w PHP i masz jakiś ciąg to wystarczy użyć stripos:

  1. if(stripos($ciag,$a) === 0) {
  2. echo 'jest!';
  3. }


ten zapis, bez rozróznienia wielkości znaków sprawdzi czy dany ciąg zaczyna się od $a


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
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: 8.07.2025 - 02:34