Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [sql] Wyszukiwanie całych wyrazow, zapytanie SQL + regexp
r.drozd
post
Post #1





Grupa:
Postów: 7
Pomógł: 0
Dołączył: 25.07.2007

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


Chciałbym moc wyświetlić wpisy z bazy, w ktorych w polu tresc znajduje sie cały wyraz (nie ciąg znakow).
W funkcji preg_match jest możliwość zastosowania w tym celu kotwicy \b .

Probowałem ja rowniez zastosowac w skladni SQL`a:
  1. <?php
  2. $query = mysql_query("SELECT id, tytul, tresc FROM slownik WHERE tresc regexp \"bwyrazb\"") or die(mysql_error());
  3. ?>


ale takie rozwiązanie nie działa (nie sa zwracane żadne wyniki, bez kotwic \b wyniki sa zwracane).

Może jakieś podpowiedzi jak rozwiązać ten problem, lub linki z opisem rozwiązania, bo sam praktycznie nic w Google ani w wewn. wyszukiwarce forum.php.pl nie znalazłem.
Zależy mi aby wykonać to zadanie w zapytaniu SQL.

Dziekuję z gory za ew. podpowiedzi.
Pozdr. R. Drozd
Powód edycji: Dodaje tag /~strife/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tsharek
post
Post #2





Grupa: Zarejestrowani
Postów: 300
Pomógł: 1
Dołączył: 22.09.2003
Skąd: Czeladź

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


nie wiem czy o to chodzi, ale nie możesz poprostu użyć polecenia LIKE (lub ILIKE) w połączeni z "%...%" i spacjami?
np:
  1. SELECT id, tytul, tresc FROM slownik WHERE tresc LIKE "% wyraz %"
Chociaż tutaj może być problem jeżeli dany wyraz znajduje się na końcu lub początku... albo nie...

  1. SELECT id, tytul, tresc FROM slownik WHERE tresc LIKE "% wyraz %" OR tresc LIKE "wyraz %" OR tresc LIKE "% wyraz"


Może rozwiązanie mało elegancke, ale powinno działać:) regexy uważam za bardzo wolne przy dużych bazach
Go to the top of the page
+Quote Post
r.drozd
post
Post #3





Grupa:
Postów: 7
Pomógł: 0
Dołączył: 25.07.2007

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


Hmm troszkę topornie, ale to jakieś rozwiązanie. Pozostawał by jeszcze problem z interpunkcją stojącą przy wyrazach np. kropki przecinki...

Dalej jednak będę obstawał przy regex, ma ktoś jakieś pomysły??
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 04:56