Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]REGEXP w zapytaniu i polskie znaki, jw
miras
post
Post #1





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Witam, mam taką metodę


w zmiennej $reg podaję np $reg="A-Z";

  1. public function search_artist($reg) {
  2. $regexp = "^[$reg]";
  3. $this->artists = $this->pdo->query("SELECT id, nazwa FROM wykonawcy WHERE nazwa REGEXP '".$regexp."' ORDER by nazwa ASC");
  4. return $this->artists;
  5. }


funkcja zwraca mi wszystkie wyniki poza tymi, które zaczynają się polskimi znakami np. Ą Ż Ź Ć itp. ma ktoś jakiś pomysł?

Dzięki z góry!


--------------------
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


^[A-ZĄĆĘŁŃÓŚŹŻ]


--------------------
Go to the top of the page
+Quote Post
miras
post
Post #3





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


a jakiś inny sposób, bo podałem tylko taki przykład, ogólnie to mam to zrobione tak, że mam buttony i np.

<a href="index/A-C">A-D</a>

<a href="index/E-H">E-H</a>

i podaję to do funkcji przez $_GET


--------------------
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Pokombinuj:
http://stackoverflow.com/a/16960134
http://stackoverflow.com/a/4813651


--------------------
Go to the top of the page
+Quote Post
miras
post
Post #5





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Nic mi z tego nie wyszło, ktoś ma jakiś inny pomysł?


--------------------
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Zmiana polskich znaków na odpowiedniki bez ogonków (REPLACE) i użycie REGXP, np. w postaci "^[A-D]" nie pomogła?


--------------------
Go to the top of the page
+Quote Post
miras
post
Post #7





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Ale ja w wyszukiwaniu podaję bez polskich znaków - więc gdzie mam tą zmianę zastosować?


--------------------
Go to the top of the page
+Quote Post
trueblue
post
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Na tym samym na czym robisz REGEXP.
Zaglądałeś w ogóle w linki, które podałem, szczególnie ten drugi?


--------------------
Go to the top of the page
+Quote Post
Daimos
post
Post #9





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


  1. public function search_artist($reg) {
  2. // jeśli przewidujesz, podanie a-z, to możesz tutaj przerobić wyrażenie:
  3. $regexpl = preg_replace('/a\-z/', 'a-ząśżźćłóę',$req);
  4. $regexp = "^[$reg]";
  5. $this->artists = $this->pdo->query("SELECT id, nazwa FROM wykonawcy WHERE nazwa REGEXP '".$regexp."' ORDER by nazwa ASC");
  6. return $this->artists;
  7. }


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
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 Aktualny czas: 20.08.2025 - 18:49