Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sklep internetowy - rozwiazania do wykonania
Forum PHP.pl > Inne > Hydepark
miszqa
Witam!!!
Siedzialem sobie i wymyslilem ze napisze takiego posta. Chodzi mi o wytlumaczenie problemu dzialania sklepu internetowego.

Wymyslilem ze jest beda takie opcje:
register.php - rejestracja uzytkownika
koszyk.php - dodawanie artykulu dla uzytkownika
i inne pliki do dodawania artykulow

No i rejestracja akurat jest dosc prostym rozwiazaniem. problem zaczyna sie dopiero przy koszyku.
Wymyslilem ze koszyk oparty jest na sesjach. Tylko teraz problem zaczyna sie z rozwiazaniem dodawania i usuwania produktow w koszyku.

Myslalem o czyms takim ze uzytkownik po zalogowanieu wybiera towar. I teraz jest kolejny problem jak stworzyc ten koszyk. Czy tworzyc jakis wpis do bazy danych czy nie. Prosilbym o mala podpowiedz.

Zasada dzialania chyba bylaby taka: Klient wybiera towar i dodaje do koszyka czyli dodajemy do sesji wpis z id towaru, oraz iloscia. Nastepnie dobierajac towar sytuacje powtarzamy.
Teraz jesli chcemy usunac dany towar to wykasowujemy z sesji ale co zrobic jak chcemy zmienic jej zawartosc np zmienic ilosc?
Nie mam pojecia jak wykonac owa operacje. Czy ktos moze pomoc to rozwiazac. Czy uzywac do tego tablic jakis czy bazy. Prosze o pomoc w rozwiazaniu oraz jakakolwiek podpowiedz jak ten koszyk powinien byc zaimplementowany.
Tylko ze wg mnie pojawia sie jeszcze jeden problem bo uzytkownik korzysta z sesji wiec koszyk jest przypisywany dla uzytkownika w takim przypadku a nie uzytkownik koszykowi.
Nie mam pojecia jak sie za to zabrac bede wdzieczny za wszelkie podowiedzi rozwiazania
Ociu
Ja zrobiłem troszke inaczej.

W bazie tabele: zamówienia i koszyk.

Jeśli koleś gdzie coś wrzucić do koszyka to redkordy zapisują się do tabeli koszyk..
jak już użytkownik stwierdził, że wszystko ma, to zapisuje się do zamówień, a dane z koszyka są usuwane...

Kod
Tabela Koszyk
-------------------------------------------
|      id     |     uid     |     pid     |
-------------------------------------------


uid - user id
pid - product id

BTW. Moje rozwiązanie z pól roku...

pozdrawiam
miszqa
no dobra tylko ze to jest przypisywane dla jednego produktu a gdzie miejsce na ilosc tych produktow ?
chyba ze czegos nie podlapalem
sztosz
Mozna wstawic kolejna kolumna, np ilosc. Tam zapiszesz ile pid'ow dany uid potrzebuje smile.gif
miszqa
no dobra to jest jakies rozwiazanie a jesli chce spamietac zakupy danego goscia?
to zczytywac z bazy tylko ze teraz jest cos taskiego ze bede zapelniac baze bo jesli jakis uzytkownik bedzie robil zakupy aby tylko sprawdzic czyli pozniej z nich sie wycofa wiec baza bedzie zapelniana danymi zupelnie niepotrzebnymi... i co wtedy ?
Spike
robisz kolejną kolumne potwierdzone
  1. enum '1','0'
i data (data zamówienia) i jesli klient nie potwierdzi (w tablicy potwierdzone=0) w ciagu np 1 miesiaca to mozesz usunąć te dane z bazy
miszqa
no ale takie rozwiazanie staje sie bezsensu gdyz musze dobijac sie do bazy i usuwac puste niewykonane zamowienia. Wolalbym to zautomatyzowac bardziej. Bo zalozmy ze wykonujemy komus taki sklep i po jakims czasie dany uzytkownik zmieni haslo bo np zerwal umowe z projektantem to co wtedy jesli baze przepelni?

Zadko to sie zdaza ale teoretycznie zakladajac. Czy nie ma jakis innych rozwiazan dotyczacych usuwania niewykonanych transakcji ?
kwiateusz
no to napisz skrypt ktory bedzie obecna date porywnywal z ta z zamowienia i sprawdzal czy potwierdzenie wynosi 1 jak bedzie wynosisc 0 i data bedzie sprzed miesiaca to skrypt to usunie ...
Sh4dow
Cytat(kwiateusz @ 2005-07-24 09:58:12)
no to napisz skrypt ktory bedzie obecna date porywnywal z ta z zamowienia i sprawdzal czy potwierdzenie wynosi 1 jak bedzie wynosisc 0 i data bedzie sprzed miesiaca to skrypt to usunie ...

no a gdzie tutaj jest problem ?
  1. DELETE
  2. FROM zamowienia WHERE potwierdzenie = 0 AND DATA < time-miesiac()


to chyba jasne zapytanie ? mozna je wykonywac przy kazdym przegladaniu zamowien, nie powinno sprawiac wiekszych problemow.
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.