Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem wyświetlaniem zdjęć z danej kategorii mysql
Forum PHP.pl > Forum > Bazy danych
1q2w3e4r
Witam,

Mam zdjęcia gdzie jedno zdjęcie może być w kilku różnych kategoriach. Dlatego w kolumnie kategorie zapisuję wszystkie id kategorii w takim formacie: 12.44.23.77.2
Takie rozwiązanie wydawało mi się najlepsze, bo zapisując to za pomocą np. serialize nie będę mógł wyszukiwać później zapytaniem. Jeśli macie jakieś lepsze inne rozwiązanie na tego typu akcje to bardzo proszę o pomoc jak to robić)
Wracając do mojego sposobu wyświetlać próbowałem to tak:

  1. SELECT * FROM `galeria` WHERE `kategoria` LIKE '%2%'


Jednak gdy tak wyszukuję to znajduje mi zdjęcia które maja kategorię o id: 12, 23, 2
Jak zrobić aby wyszukało mi zdjęcia tylko z kategorii o id 2 ?
nospor
Masz złą strukturę. Do tego używa się tabeli łączącej.

TABELA KATEGORIA
ID
BLABLA

TABELA ZDJECIE
ID
BLABLA

TABELA ZDJECIE_KATEGORIA (tabela łącząca)
ID_KATEGORIA
ID_ZDJECIA

I wówczas życie staję się łatwiejsze smile.gif
1q2w3e4r
No super. Nie wpadło mi to jakoś do głowy. Jednak przy edycji i dodawaniu zdjęć będzie więcej zapytań, ale raczej nie bardzo męczące bazę.

EDIT:

A jak zrobić z tagami? Na pewno lepiej utworzyć osobna tabelę. A następnie trzeba by było zapisywać id tagu przy danym zdjęciu. Więc też chyba trzeba zrobić tabelę łączącą?
nospor
Tak.
1q2w3e4r
Chciałbym się jeszcze dowiedzieć czy takie metody stosują wszyscy ? Czy to jest najwydajniejsza metoda czy tylko najłatwiejsza do zastosowania?
Teraz robię średni projekt, jednak w przyszłości myślę, zrobić większy w którym myślę, że będzie dużo odwiedzin.
nospor
Cytat
czy takie metody stosują wszyscy
Nie, nie wszyscy. Są początkujący, którzy robią tak jak ty na początku wink.gif
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.