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
ddiceman
post
Post #2





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


1. najpierw pobierasz id tagu
  1. 'SELECT id FROM tags WHERE name = "lol";'

2. to id zapisujesz do zmiennej [i]$id[/id] i uzywasz w kolejnym zapytaniu
  1. '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.'";

3. zauwazasz, ze to dziala, ale koszmarnie wolno, wiec wywalasz swoja strukture i przerabiasz ja na 3 tabele:
Kod
tags (id[int], nazwa[varchar]) {nazwa - unique}
films (id[int], nazwa[varchar]....)
tag_to_film(id[int], id_tagu[int], id_filmu[int]); {para id_tagu, id_filmu - unique}

i robisz 2 proste zapytania:
  1. SELECT id FROM tags WHERE nazwa = 'lol';

  1. SELECT id_filmu FROM tag_to_film WHERE id_tagu = '$id';


Ten post edytował ddiceman 12.06.2009, 10:11:00
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: 17.10.2025 - 12:39