Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]REGEXP w zapytaniu i polskie znaki
Forum PHP.pl > Forum > Przedszkole
miras
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!
trueblue
^[A-ZˇĆĘŁŃÓ¦¬Ż]
miras
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
miras
Nic mi z tego nie wyszło, kto¶ ma jaki¶ inny pomysł?
trueblue
Zmiana polskich znaków na odpowiedniki bez ogonków (REPLACE) i użycie REGXP, np. w postaci "^[A-D]" nie pomogła?
miras
Ale ja w wyszukiwaniu podaję bez polskich znaków - więc gdzie mam t± zmianę zastosować?
trueblue
Na tym samym na czym robisz REGEXP.
Zagl±dałe¶ w ogóle w linki, które podałem, szczególnie ten drugi?
Daimos
  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. }
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.