Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Newsy z dodatkowymi zdjęciami
Forum PHP.pl > Forum > Przedszkole
adek-
Witam, zrobiłem sobie standardowy automat do newsów gdzie w bazie mam id, tytul, tresc, data i zdjęcie miniaturkę artykułu która jest przechowywana również w bazie jako mediublob.
Teraz moje pytanie, aby w środku newsa była dodatkowo galeria różnie od 3-10 zdjęć, to mam zrobić dodatkową tabelę w bazie i złączyć obie tabele za pomocą INNER JOIN, LEFT JOIN bądź innymi połączeniami, czy lepiej zrobić w głównej tabeli na końcu jej 10 mijesc dodatkowych na nazwy plików i sprawdzać czy są puste, czy nie?
W zasadzie ta druga opcja była by łatwiejsza, ale jak przyzwoicie powinno to wyglądać?
Crozin
Ta druga opcja na pewno byłaby łatwiejsza gdybyś chciał dodać sobie 12 zdjęć do galerii, prawda?

1. Osobna tabela na obrazy.
2. Trzymanie obrazów w bazie danych to słaby pomysł - lepiej przechowywać jedynie ścieżki do plików.
adek-
Też myślałem nad drugą opcją, pierwsza tabela danych nie była by taka obszerna, a co do zdjęć trzymanych w bazie to tylko mam ten 1 awatarek przypadający na post (o wielkości 100x100), a słyszałem że małe pliczki jak avatarki lepiej trzymać w bazie aby się szybciej ładowały, a wpisów do newsów nie będzie więcej niż 40 na rok smile.gif Chociaż jest opcja że będę potrzebował tam umieścić większy obrazek 130x200 to chyba przerzucę się na ścieżkę dostępu... natomiast oczywiście zdjęcia z galerii to tylko po ścieżce dostępu, bo będą mi się jeszcze konwertować do jpg i zmiejszać z orginalnych wielkości... problem z "cropem" mam teraz ;/

PS w zasasdzie obmysliłem sobie to, że dodam polę w tabeli newsów id_galerii, które z automatu przyjmnie taką samą wartość co id newsa i będzie pole id 1do1, ale jeśli ktos nie doda w jakimś newsie ani jednego zdjęcia to będzie przeskok i galerie się będą od tego czasu mieszać... da się wrzucać jedno zdjęcie 1x1 px jako hidden, którego nie będę wyświetlał, żeby zawsze się tworzyła galeria nawet pusta, czy jest inne panaceum?
Crozin
Zwykła relacja jeden-do-wielu (Google: mysql 1-m relationship, mysql one-to-many relationship) i nie ma tutaj nic więcej do kombinowania.
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.