Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne] Tagi do zdjęć, Jak zaplanować w bazie danych obsługę tagów
volvox
post 20.09.2010, 13:25:13
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.03.2006

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


Robię stronkę na której użytkownik może dodać sobie zdjęcia. Chciałbym aby mógł te zdjęcia opisać tagami (np. "drzewo", "dom", "jesień") i zastanawiam się jak to dobrze odzwierciedlić w bazie danych, aby móc później łatwo wyszukiwać zdjęcia wg. tagów.

Mój pomysł zakłada że każde zdjęcie ma 3 tagi (tak mi było łatwiej smile.gif

Zdjęcia
*id_zdjecia
nazwapliku
id_tagu1
id_tagu2
id_tagu3

Tagi
*id_tagu
nazwa

Mam tablicę Tagi gdzie każdy tag ma swoją nazwę i ID (bo wiele z nich będzie się powtarzać), a w tabeli zdjęcia zapisuję sobie same id.
Zapytanie było by wtedy (pi razy drzwi):
$tag = select id_tagu from tagi where nazwa like $nazwa
select * from zdjecia where id_tagu1 = tag or id_tagu2 = tag or id_tagu3 = tag

No i wszystko pięknie jak pierwsze wyszukanie zwróci tylko jeden wynik, bo jak więcej to troszke się to wszystko zawiłe robi.

Ma ktoś pomysł jak to ładnie rozwiązać?

Ten post edytował volvox 20.09.2010, 13:25:37
Go to the top of the page
+Quote Post
bastard13
post 20.09.2010, 14:12:53
Post #2





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Po prostu kontroluj, żeby nazwa tagu nie mogła się powtarzać (primary key) np.
Ja dodaję zdjęcie z tagiem drzewo, czyli zapis zdjęcia i nowy tag. Ty dodajesz inne zdjęcie z takim samym tagiem, to nie dodajesz kolejnego rekordu do tabeli tagi tylko pobierasz jego id (wiersza gdzie nazwa='drzewo').


--------------------
Go to the top of the page
+Quote Post
volvox
post 20.09.2010, 14:18:51
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.03.2006

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


Ale przy wyszukiwaniu ktoś może podać "dom" i wtedy będą pasować tagi "dom", "domator", "domownik" itp.
Chyba że wyszukiwanie wg. tagu zorganizować osobno i wymagać podania pełnej nazwy tagu czyli że "dom" wyszuka tylko "dom", ale zastanawiałem się czy ma ktoś inny ciekawy pomysł winksmiley.jpg
Go to the top of the page
+Quote Post
melkorm
post 20.09.2010, 14:23:48
Post #4





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Możesz mieć listę tagów i podpiąć do tego autocomplete z jQuery, a pod spodem mieć normalną szukajkę po tagach, czyli wpisując szuka określonego tag'u lub takiego który zaczyna się od "dom" itp.


--------------------
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 Wersja Lo-Fi Aktualny czas: 27.06.2025 - 02:37