Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwanie słów kluczowych PRZYSPIESZENIE ZAPYTANIA
grzegorz-gg
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 25.12.2004

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


Witam,

w jaki sposób napisać zapytanie aby wyszukiwało listę artykułów które maja określone słowa kluczowe wpisane przez użytkownika

np. po wpisaniu słów kluczowych 'a', 'b', 'c'
zostały wyświetlone artykuły o nazwie: artykul1 i artykul3

poniżej przedstawiam tabele z bazie danych

artykul (Zawiera artykuły)

  1. +------+------------+
  2. |  ID  |   nazwa    |
  3. +------+------------+
  4. |   1  |  artykul1  |
  5. |   2  |  artykul2  |
  6. |   3  |  artykul3  |
  7. +------+------------+


keywords ( wszystkie możliwe słowa kluczowe )
  1. +------+-----------+
  2. |  ID  |  keyword  |
  3. +------+-----------+
  4. |   1  |     a     |
  5. |   2  |     b     |
  6. |   3  |     c     |
  7. +------+-----------+


tabela_keywords ( przypisanie słów kluczowych do elementów tabeli artykul )
  1. +-------------+---------------+
  2. |  ID_artykul |  ID_keywords  |
  3. +-------------+---------------+
  4. |      1      |       1       |
  5. |      1      |       2       |
  6. |      1      |       3       |
  7. |      2      |       3       |
  8. |      3      |       1       |
  9. |      3      |       2       |
  10. |      3      |       3       |
  11. +-------------+---------------+


Za pomoc z góry dziękuje.
Pozdrawiam

Ten post edytował grzegorz-gg 16.08.2008, 18:52:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Musisz wyszukiwać artykuły, które mają odpowiednie słowa kluczowe:
  1. WHERE keywords IN ( 'a', 'b', 'c' )

oraz odpowiednią ich ilość:
  1. HAVING COUNT( ID ) = 3

dzięki czemu pobrane zostaną tylko te artykuły, które mają wszystkie wymienione tagi.


Do łączenia tabel używasz LEFT JOIN. Pokaż co do tej pory wymyśliłeś to pokombinujemy.
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: 3.10.2025 - 19:50