Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne] Tagi do zdjęć
Forum PHP.pl > Forum > Przedszkole
volvox
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ć?
bastard13
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').
volvox
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
melkorm
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.