Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL]Problem z LIKE
henio
post
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

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


Mam w bazie danych kolumnę, gdzie zapisane są rekordy w następujący sposób:
Kod
'9 , 8'
'3 , 5'
'9 , 3 , 5'
'9 , 10 , 1 , 5'


Robię takie zapytanie:
  1. SELECT count(*) AS ile
  2. FROM newsy WHERE tagi LIKE '3'
  3. ORDER BY DATA DESC LIMIT 0, 30


Powinno mi wyświetlić się 2 a wyświetla się 0.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(henio @ 21.09.2008, 14:43:51 ) *
Powinno mi wyświetlić się 2 a wyświetla się 0.

Wyświetla ci się tak, jak masz zapisane w zapytaniu. tagi LIKE '3' oznacza dokładnie to samo co tagi='3'. Musisz użyć % aby okreslić, że przed i po szukanym znaku może wystąpić cokolwiek, czyli:
  1. SELECT count(*) AS ile
  2. FROM newsy WHERE tagi LIKE '%3%'
  3. ORDER BY DATA DESC LIMIT 0, 30
Go to the top of the page
+Quote Post
Albitos
post
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 4
Dołączył: 6.08.2006
Skąd: Lublin

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


Poza tym, jeżeli to naprawdę jest system tagów polecam relację wielu do wielu. Słowem tablelę tags, posts oraz posts_to_tags z odpowiednimi kluczami obcymi.


--------------------
Albi's Jogger - z pamiętnika młodego programisty
Orodlin Team Member
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 - 23:51