Skocz do zawartości

Galeria zdjęć


Mar

Rekomendowane odpowiedzi

niestety ciezko wyczuc gdzie jest granica kiedy ten ów serwer sie wyłozy. metoda probabilistyczną ustawiłem to na 350kB ale czasami potrafi się wyłożyć nawet na 300. i tylko ten serwer
Ja jeszcze się nie spotkałem z opisanym przez Ciebie problemem.
Czekam na rozwianie innych moich wątpliwości, za obecne b. dziękuje.Mar.
Jako takiej stałej wartości rozmiaru zdjęć nie osiągniesz ponieważ nie wiemy jaką user fotkę doda. Jedne będą miały orientację pionową inne poziomą. Jedynie możesz ustalić jakiś zakres dla rozmiarów zdjęć.

nazwy zdjęć powinny być jakoś znormalizowane, bynajmniej nie tak zapisywane jak w oryginale. Zakładam, że dodawać zdjęcia będą mogli zalogowaniu userzy... jeśli tak to nazwa zdjęcia może się składać z

- nick usera [zapewne przyjmiesz jakąś maksymalną wartość jego długości np. 20 znaków]

- znacznik czasu z funkcji time();

Taka kombinacja da nam unikalną nazwę zdjęcia np.: nick_usera-1136849145.jpg Pole w bazie danych typu CHAR (35) i wystarczy zapisać tylko nazwę dużego zdjęcia. Każde zdjęcia w bazie musi mieć unikalny autoinkrementowany ID. Miniatury możesz zapisywać w tym samym katalogu dając nazwę np: nick_usera-1136849145-thumb.jpg lub w innym przeznaczonym na miniatury.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 59
  • Dodano
  • Ostatniej odpowiedzi

Tak, dodawanie zdjęć bedzie tylko dla zalogowanych użytkowników + akceptacja zdjęć przez moderatora (administratora). Co do wielkości zdjęć, zamierzam ustawić stałą szerokość np. to proponowane wcześniej 640 a wysokość autodopasowanie. Jeśli skryp zawiedzie, będą tworzone tylko miniaturki, a "odpowiednie zdjęcia" będę przed zatwierdzeniem edytował i dopiero wrzucał na stronę. Co pewnie rozwiąże dodają prosty panel administracyjny do tworzenia kategorii i akceptowania zdjęć, edycji opisu itp.

Ciągle nie dajemi spać rozwiązanie z zliczaniem zdjęć, np. utworzyć dodatkową kolumnę, np. w kategorii i przy dodawaniu zdjęcia/akceptacji +1, czy odczytywać/zliczać bezposrednio na stronie poprzez dodatkowe zapytanie?

Mar.

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

Przecież to Panie Mar jest proste :zeby:

Moja propozycja tabeli zdjęć:

id_zdjecia | nick_dodajacego | id_kategori_zdjecia | nazwa_pliku_zdjacia | dodano |ogladano | akceptacja

Ile zdjęć ma cała galeria :

$zapytanie=mysql_query(" SELECT COUNT(*) AS ile FROM galeria_zdjec WHERE akceptacja ='1' ");
$rekord=mysql_fetch_array($zapytanie);
$ile_zdjac=$rekord[ile];

Dzięki takiej strukturze tabeli masz mozliwosc:

- pobrania wszystkich zdjęć

- pobrania zdjeć z danej kategorii

- pobrania zdjeć dodanych przez danego usera

- pobrania zdjęć z danego przedziału czasowego

- pobrania tylko zaakceptowanych zdjęć

- i inne ....

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Rozwiązanie, które podał Mion jest według mnie najlepsze, chodzi o robienie minaturek i nazywanie ich identycznie jak właściwe zdjęcie z dodatkiem np. thumb-, z tym że ja bym to dał na początku nazwy. Wtedy możesz wykorzsytać to samo zapytanie do bazy danych i żeby wyświetlić minaturkę robisz:

$thumb = 'thumb-' . $zapytanie['nazwa_pliku_zdjacia'];

Odnośnik do komentarza
Udostępnij na innych stronach

Ja miniaturki wrzucam do podfolderu thumbs z nazwa taka sama, jak oryginal.

Mion, mysle, ze Marowi chodzilo o zliczanie np. ilosci fotek w danej kategorii. Sam zreszta sie z tym borykam. Mozna zrobic zapytanie z GRUP BY id, ale nie wiem, jak to potem zgrabnie polaczyc z wynikami z tabeli fotek.

Oficjalna strona serii Football Manager ( FM 2005, FM 2006 ) - CM Revolution

Forza MLKS Woźniki Śląskie!

Odnośnik do komentarza
Udostępnij na innych stronach

ze Marowi chodzilo o zliczanie np. ilosci fotek w danej kategorii.

$zapytanie=mysql_query(" SELECT COUNT(*) AS ile FROM galeria_zdjec WHERE akceptacja ='1' AND  id_kategori_zdjecia ='1' ");
$rekord=mysql_fetch_array($zapytanie);
$ile_zdjac=$rekord[ile];

Pobiera ilosc fotek w danej kategorii

SELECT id_kategori_zdjecia ,COUNT(*) AS ile FROM galeria_zdjec GROUP BY id_kategori_zdjecia;

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Po co sie tak meczyc, skoro przegladarka moze sama przeskalowac sobie zdjecia. Wystarczy dodac atrybuty width i height. Dziala na IE, FF i O.

Mion zapytanie bardzo fajne, ale mi chodzi o to jak polaczyc jego wynik, czyli id powiazane z liczebnoscia, z wyswietlaniem kategorii fotek, tak zebym mogl tam uzyc wlasnie tej liczebnosci. Zastanawiam sie, czy da sie to jednym zapytaniem zrobic, czy trzeba sie w PHP bawic...

Oficjalna strona serii Football Manager ( FM 2005, FM 2006 ) - CM Revolution

Forza MLKS Woźniki Śląskie!

Odnośnik do komentarza
Udostępnij na innych stronach

Po co sie tak meczyc, skoro przegladarka moze sama przeskalowac sobie zdjecia. Wystarczy dodac atrybuty width i height. Dziala na IE, FF i
Świetne rozwiązanie jak chodzi o minatury zdjeć, zwłaszcza pod względem zużycie transferu i nie wspomnę o czasie ładowanie galerii. :rtfm: No chyba, że jest coś o czym nie wiem czyli.. Czyli. że jak dasz w kodzie tak jak Proponijesz mniejsze wymiary fotki przeglądarka ściągnie odpowiednio mniej danych :angry:
ale mi chodzi o to jak polaczyc jego wynik, czyli id powiazane z liczebnoscia, z wyswietlaniem kategorii fotek, tak zebym mogl tam uzyc wlasnie tej liczebnosci.
Nie bardzo rozumiem o co Ty chcesz zapytać [nie tylko mnie ] ale bazę danych ;)

id jest unikalne dla każdej fotki i nie ma nic wspólnego z liczebnością zdjęć danej kategorii itd. Dasz radę jaśniej ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Elf, dodając width i height fotka będzie wyglądać gorzej, i co gorsze i tak zostanie cała załadowanaa.....

Mion jemu chodzi chyba to że ma tabele kategorie i fotki, i chce zliczyć ilość fotek dla każdej kategorie pogrupowanych

Ide spać, nie zamierzam sie już więcej uczyć...

stopka usunieta z wpoodu wirusa na stronie docelowej

Odnośnik do komentarza
Udostępnij na innych stronach

Co do zliczania to chodziło mi o ilość zdjęć w kategorii, i jak zliczyć wiem. Ale pytałem która opcjia lepsza zliczać zdjęcia i dodawać to do bazy, czy wyciągać bezpośrednie poprzez zapytanie SELECT_COUNT?

I trudniejsza sprawa, jak rozwiązać efekt najpopularnieszego zdjęcia. Musiałbym chyba zrobić licznik wyświetleń, który przy każdym wyswietleniu pobiera ile już było wyświetleń do tego +1. Ale to chyba strasznie obciąży bazę, chyba, że można to w inny sposób.

Mar.

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

Nie obrazajcie mojej wiedzy informatycznej :) Wiem jakie sa konsekwencje takiego skalowania po stronie klienta. Podalem to jako ciekawostke, ktora mozna zastosowac do niewielkich grafik .jpg, gdzie zmniejszenie rozdzielczosci nie pociaga za soba znacznego zmniejszenia wagi.

Oficjalna strona serii Football Manager ( FM 2005, FM 2006 ) - CM Revolution

Forza MLKS Woźniki Śląskie!

Odnośnik do komentarza
Udostępnij na innych stronach

I trudniejsza sprawa, jak rozwiązać efekt najpopularnieszego zdjęci
Ja bym ta operację przeprowadził podczas wyświetlanie dużej fotki następującym zapytaniem:

mysql_query (" UPDATE galeria_zdjec SET ogladano =(ogladano +1) WHERE id_zdjecia='123' "); 

Jest to całkowicie bezpieczne zapytanie nie obciążające bazę danych. IMHO z tym obciążeniem bazy danych to bez przesady :) co innego jak są wykonywane zapytania złączone do tego do wielokolumnowych tabel w dużych rozmiarowo bazach. Ale takie pojedyncze jak SELECT nawet UPDATE zwłaszcza jak są klucze główne indexy to zdecydowanie ->Wykonanie zapytania trwało 0.0004 sekund :)

Nie obrazajcie mojej wiedzy informatycznej :P Wiem jakie sa konsekwencje takiego skalowania
OKi sugerujesz aby Twoje porady traktować hihi z przymrużeniem oka ;)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Mion jemu chodzi chyba to że ma tabele kategorie i fotki, i chce zliczyć ilość fotek dla każdej kategorie pogrupowanych

Si. Wlasnie o to mi chodzi. Wyswietlam kategorie i chce przy nich miec ilosc fotek. Precyzujac: w tablicy asocjacyjnej, gdzie mam nazwe, plik itd (bezposrednio pobierane z tabelki) dolozyc chcialbym ilosc fotek w kategorii (ktora mozna wyciagnac zapytaniem GROUP BY). Nie moge tego jednak zrobic zlaczeniem, bo wychodzi niejednoznacznosc atrybutu (klucza obcego). Czy musze to mielic w PHP?

Nie obrazajcie mojej wiedzy informatycznej :) Wiem jakie sa konsekwencje takiego skalowania
OKi sugerujesz aby Twoje porady traktować hihi z przymrużeniem oka :)

Czasami stosuje skroty myslowe i pomijam oczywiste, dla mnie, rzeczy. Postaram sie poprawic.

Oficjalna strona serii Football Manager ( FM 2005, FM 2006 ) - CM Revolution

Forza MLKS Woźniki Śląskie!

Odnośnik do komentarza
Udostępnij na innych stronach

Si. Wlasnie o to mi chodzi. Wyswietlam kategorie i chce przy nich miec ilosc fotek.

Wiec ja Twoje zapytanie widzę tak:

Przykładowa tabela z nazwami kategorii fotek

id_kategorii | nazwa_kategorii

1 | Zdjęcia morza

2 | Zdjęcia gór

3 | Zdjęcia lasów

itd....

Tabela fotek:

id | id_kategorii | nazwa

odpowiednie rekordy....

Przykładowe zapytanie łączące dwie tabele zwracające nazwa kategorii id_kategorii ilość fotek jako kolumna ile:

SELECT kategorie.nazwa_kategorii, foto.id_kategorii, COUNT( * ) AS ile
FROM kategorie, foto
WHERE kategorie.id_kategorii = foto.id_kategorii
GROUP BY kategorie.id_kategorii;

wynikzapytania9il.jpg

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Wielkie dzieki Mion. Nie pomyslalem, zeby uzyc bezwglednego adresowania atrybutu i w ten sposob usunac niejednoznacznosc. Pozna godzina, czas juz spac.

Oficjalna strona serii Football Manager ( FM 2005, FM 2006 ) - CM Revolution

Forza MLKS Woźniki Śląskie!

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności