Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Wyszukiwarka po tagach, problem z wyszukiwarką
trciap
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.06.2009

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


Witam,
jestem nowy więc przepraszam za wszystkie błędy jakie popełnię na forum.

chodzi o to, że mam problem z tagami.

w moim skrypcie z filmikami,
przy każdym dodaniu filmu to z tytułu i opisu tworzą się tagi i dodają do mysql.

tabele wyglądają następująco

'tags'
id name
1 jakis
2 tag
3 inny
4 tag

itd.

oraz druga tabela

tag_film
id id_filmu id_tagu
1 15 15,16,17,18,19,
itd.

teraz jak mógł


jak wyświetlić wszystkie filmy np. które zawierają taga np. 'lol' ?

myślałem coś w stylu,

wpisana fraza->szukamy takiego taga,bierzemy jego id->id tego taga szukamy w tablei 'tag_film' i porównujemy z tymi w 'id_tagu'->później bierzemy id_filmu i wyświetlamy filmy o takim tagu

Ten post edytował trciap 12.06.2009, 09:06:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trciap
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.06.2009

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


nie za bardo wiem co zrobić z tym

  1. <?php
  2. tags (id[int], nazwa[varchar]) {nazwa - unique}
  3. films (id[int], nazwa[varchar]....)
  4. tag_to_film(id[int], id_tagu[int], id_filmu[int]); {para id_tagu, id_filmu - unique}
  5. ?>


  1. <?php
  2. $sql = 'SELECT id FROM tags WHERE name = "lol";' ;
  3. $query_fetch = mysql_fetch_assoc(mysql_query($sql));
  4.  
  5. $id = $query_fetch['id'];
  6.  
  7. $sql_2 = 'SELECT id_filmu FROM tag_film WHERE id_tagu LIKE "'.$id.'%" OR id_tagu LIKE "%,'.$id.',%" OR id_tagu LIKE "%,'.$id.'" OR id_tagu = "'.$id;
  8. $query_fetch_2 = mysql_fetch_assoc(mysql_query($sql_2));
  9.  
  10. tags (id[int], nazwa[varchar]) {nazwa - unique}
  11. films (id[int], nazwa[varchar]....)
  12. tag_to_film(id[int], id_tagu[int], id_filmu[int]); {para id_tagu, id_filmu - unique}
  13.  
  14.  
  15. $sql_3 = "SELECT id FROM tags WHERE nazwa = 'lol'";
  16. $query_fetch_3 = mysql_fetch_assoc(mysql_query($sql_3));
  17.  
  18. $sql_4 = "SELECT id_filmu FROM tag_film WHERE id_tagu = '$id'";
  19. $query_fetch_4 = mysql_fetch_assoc(mysql_query($sql_4));
  20.  
  21. echo "<pre>";
  22. print_r($query_fetch_4);
  23. echo "</pre>";
  24. ?>



mam takie pytanie czy tam w tabeli
id_tagu to rekord może być "10,11,12" itp. ?

dzięki za pomoc
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 13:11