![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 3.08.2008 Skąd: Breslau Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Przeszukałem już chyba wszystkie fora ale niestety nie znalazłem tego czego szukałem. Zwracam się zatem o pomoc do Was. Aktualnie robie sklepik internetowy. Stronka w PHP, baza SQL 2000. Do tej pory radziłem sobie z wszystkim (pasjont) ale natrafiłem na rzecz która jest dla mnie nie do przejścia :/ A są to: obrazki w bazie. Jak ugryść ten temat? Posiadam w swojej bazie tabelkę Towary, aktulnie poprzez polecanie PHP wyciagam na strone stan danego towaru, ilosc sztuk itp. Chciałem teraz dołączyc fotki. Mam kilka pytań: - czy dopisać do tabelki TOWARY, pozycje fotki odppwiedzialną za fotki danego produktu czy robić nową, inną tabelkę FOTKI? - wiem, że można fotkę zapisać w bazie ale lepszym wyjściem jest chyba umieszczenie w niej adresu fotki w którym można ją znaleść, na jakiej zasadzie to sie odbywa? - czy w SQLu 2000 działa polecenie BLOB? Jeśli tak to jak? Chciałbym aby polecenie PHPowe wyciagało z bazy fotkę (tj. jej adres) odpowiednią do danego zdjecia. Ścieżka fotek - d:\shop\fotki\drukarki\hp.jpg Tabelka TOWAR CREATE TABLE [dbo].[Towar] ( [Id_Towar] [int] NOT NULL , [Id_Producent] [int] NOT NULL , [Id_Cennik] [int] NOT NULL, [Nazwa] [char] (30) NOT NULL , [Cena] [numeric] (9) NOT NULL , [Opis] [char] (45) NOT NULL , [Ilosc] [char](15) NULL , [Waga] [char](10) NULL ) ON [PRIMARY] GO Proszę o pomoc. Nie wzgardze żadną radą. Czytałem na ( jeśli mogę użyć tego stwierdzenia naszym forum) podobny wątek. Ale tam kolega jest już nieźle obeznany w tym co robi tylko nie może osiągnąc koncowego efektu. Ja niestety jestem jeszcze w malinach (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Pomóżcie |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Trzymanie zdjęć w bazie danych ułatwia zarządzanie nimi, ale traci się nieco na wydajności. W przypadku sklepu internetowego zdjęcia towarów nie są jakąś wielce istotną sprawą, więc można je trzymać na dysku. Musisz tylko sam zadbać o to, żeby miały unikalne nazwy. W takim razie tabela [zdjecia] wyglądać powinna wyglądać tak jak podał f1xer.
Jeśli jednak chciałbyś te zdjęcia mieć w bazie, to struktura powinna wyglądać mniej więcej tak: Kod +--------------+-------------+------------+-------------------+-------------------------+ | ID_zdjecia | ID_towaru | zdjecie | nazwa_pliku | ostatnia_aktualizacja | +--------------+-------------+------------+-------------------+-------------------------+ | 1 | 1 | #BINARY# | samochodzik.jpg | 2008-08-05 11:32:48 | | 2 | 1 | #BINARY# | samochodzik.gif | 2008-08-05 11:32:50 | | 3 | 2 | #BINARY# | pomarancza.jpg | 2008-07-25 14:01:40 | Kolumna [zdjecie] typu IMAGE Przy każdym żądaniu wyświetlenia zdjęcia sprawdzasz, czy przesłano nagłówek If-Modified-Since. Jeśli tak, to porównujesz datę z nagłówka z datą w bazie. Jeżeli zdjęcie nie było ostatnio aktualizowane, to wysyłasz nagłówki: Kod HTTP/1.x 304 Not Modified Last-Modified: Sat, 21 Apr 2007 01:08:10 GMT Jeżeli tego nagłówka nie przesłano, lub zdjęcie było ostatnio modyfikowane, to wysyłasz nagłówki: Kod HTTP/1.x 200 OK Content-Type: image/xxx Content-Length: 12345 Last-Modified: Sat, 21 Apr 2007 01:08:10 GMT Cache-Control: public oraz "treść zdjęcia" z bazy danych. Oczywiście Content-Type tworzysz na podstawie rozszerzenia zdjęcia, a Last-Modified na podstawie daty z bazy danych. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 15:25 |