Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Dodawanie produktu do sklepu interentowego
Forum PHP.pl > Forum > Przedszkole
przemo191
Witam. Zabrałem się za pisanie, sklepu internetowego na własne potrzeby, nie chcę korzystać z gotowców.

I mam takie pytanie, jak może działać dodawanie produktu do bazy (każdy produkt będzie miał max 5 zdjęć i min 1 zdjęcie).
Formularz z opisem produktu, cena i tak dalej to żaden problem, ale najgorsze moim zdaniem będzie dodawanie samego zdjęcie do bazy (przy dodawaniu opisu i ceny), lub uploadowanie go na serwer i dodanie samego linku do bazy danych. (nie wiem co będzie lepsze). I jak to rozwiązać.


Mogę liczyć na waszą pomoc??
croc
Na pewno powinieneś zrobić osobną tabelę w bazie dla zdjęć i przypisywać zdjęcia do produktów (tabela ze zdjęciami będzie miała pole z ID produktu). Limit zdjęć per produkt bym odpuścił, chyba że minimum. W tabeli ze zdjęciami zrobiłbym pole typu weight z wagą zdjęcia, dla łatwego ustalania ich kolejności. Główne zdjęcie produktu może być tym o najniższej wadze albo możesz osobno zdefiniować które ma być główne. Nazwy plików możesz zapisywać w bazie, ale nazwami może być po prostu ID zdjęcia. W ostatnim przypadku, po dodaniu zdjęcia do bazy, pobierasz mysql_insert_id i tak nazywasz plik ze zdjęciem.
Kostek.88
W zasadzie to dobry pomysl. Ja bym do tabeli z produktami dodal dodatkowe pole, np. thumbnail_id, ktore powie nam, ktore zdjecie jest glowne. Ulatwi to pozniej programowanie skryptu i wszelkie modyfikacje, bez koniecznosci zmieniania wag, jak to nazwales wink.gif Rozumiem, ze waga to order inaczej, tak? Na poczatku myslalem, ze chodzi o rozmiar zdjecia, ale wydawalo mi sie to nielogiczne smile.gif Nie wiedzialem tez o mysql_insert_id, do tej pory robilem to na piechote... ale przynajmniej teraz juz wiem.

Ja bym jeszcze dodal, gdyz wydaje mi sie, ze kolega @przemo191 nie jest pewien jak ma wykonac mechanizm dodawania zdjecia podczas dodawania opisu, ze tak to wyjasnie. Ja bym zrobil 5 pol input file pod opisem produktu o nazwie zdjecie[] (tablica), a potem sprawdzal w skrypcie, ktory dodaje opis, jeszcze jeden warunek:

  1. if(count($_FILES) > 0) {
  2. // blok instrukcji, jesli do ktoregos pola input file user wrzucil zdjecie
  3. }

Ew. dodal jedno pole o nazwie zdjecie[] i obok ikonke plusika, ktora z pomoca JQuery tworzy nowy input file o tej samej nazwie pod spodem...
croc
Zauważ, że powstanie wtedy relacja krzyżowa. Ja raczej staram się takich uniknąć.
przemo191
Dzięki za odpowiedzi. Myślałem podobnie jak, wy ale nie wiedziałem czy to będzie dobre rozwiązanie.
A gdzie przechowywać zdjęcia w osobnej tabeli (raczej to) czy, w jakimś folderze na serwerze.

A jeżeli w tabeli to jakiego skryptu używać do tej operacji.

ps.
Na plikach jeszcze się nie bawiłem wink.gif
Kostek.88
Cytat
Zauważ, że powstanie wtedy relacja krzyżowa. Ja raczej staram się takich uniknąć.

@croc: Moglbys przyblizyc temat?

Cytat
A gdzie przechowywać zdjęcia w osobnej tabeli (raczej to) czy, w jakimś folderze na serwerze.


Tabela + pliki na serwerze ponazywane jako 1.jpg, 2.jpg, 3.jpg itd., gdzie 1,2,3... n to id w tabeli. W tabeli, jak wspomnial @croc, mozesz dodac pole order, gdzie ustalisz dodatkowo kolejnosc wyswietlania zdjec.

Cytat
ps.
Na plikach jeszcze się nie bawiłem

Co masz na mysli? Jesli chodzi o sam upload, to mozesz od razu ustalic nowa nazwe pliku, taka jak ID itd.

PS. Czy Ty piszesz sklep zupelnie od podstaw, czy bazujesz na frameworku? Napisanie takiego sklepu od podstaw to czesto wylamywanie otwartych drzwi, napisanie zupelnie wszystkiego od podstaw jest bardzo czasochlonne smile.gif
przemo191
Chodzi mi o działanie na plikach, poprzez php. Przenoszenie, edycja itd.

Sklep piszę od podstaw. Dużo mi już nie zostało, tylko dodawanie produktu i koszyk. Resztę mam już gotową.

Dzięki za pomoc, dużo mi się teraz w głowie " po układało".

edit
Później mam w planach zrobić do niego autorski CMS.
Kostek.88
Jesli chodzi o przenoszenie to masz funkcje copy i unlink, do tego dochodzi rename - przydatna w niektorych przypadkach. A o jaka edycje pliku Ci chodzi?

PS. Dlugo pisales ten kod, ktory masz do tej pory? Chodzi mi tak orientacyjnie... ile czasu poswieciles... wiadomo, jeden pracuje to ma czas w weekendy i czasem po poludniu, drugi calymi dniami siedzi wink.gif
przemo191
Właśnie o takie funkcję mi chodziło.
A pisałem go z 1 miesiąc, dziennie po 1,5-2h, w weekendy z 4h.

Niestety dalej jestem uczniem, a tak było by szybciej wink.gif

Jeszcze raz dzięki

Kostek.88
Nie ma za co smile.gif A wrzucisz jakies demo do przetestowania jak bedzie gotowy skrypt? Jestem ciekaw jak Ci to wyszlo. Uwzglednia jakies dodatkowe funkcje typu statystyki, czy po prostu jest to czysta aplikacja?

PS. Kazdy z nas jest uczniem wink.gif Zawsze wink.gif
przemo191
Chodzi Ci o CMS, sklep, czy to przechowywanie zdjęćquestionmark.gif

Uczniem tak, ale uczniem technikum tylko przez 4 lata wink.gif
Kostek.88
O caloksztalt smile.gif

Aha, juz wiem. Zrozumialem, ze uczysz sie PHP, a tak to by szybciej bylo. Spoko, po szkole pojdziesz do roboty i bedzie jakby mniej czasu biggrin.gif (oczywiscie zart, mozesz na studia jeszcze isc, nevermind)
przemo191
Dam link jak skończę.
Uczniem jestem, bo się uczę php, oraz uczniem jestem bo chodzę jeszcze do technikum.
Takie 2 w 1 :]
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.