![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 1.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam problem z ostatnim etapem kupowania w sklepie internetowym, a mianowicie gdzie trzeba dane z sesji zapisac w bazie danych. Jakie do tego celu proponujecie zrobic tabele i jakie dane powiny byc zapisane w danej tabeli, kombinowalem juz roznie ale mi nie wychodzilo bo miedzy innymi przy kupieniu 3 przedmiotow dodaje 3 rekody do bazy danych i nie wiedzialem jak zrobic aby te 3 rekordy rozpoznawalo jako jedno zamowienie. z gory wielkie thx jesli ktos opisze jakie rozwiazania zastosowal w swoim sklepie i na co zwrocic szczegolna uwage, Pozdrawaiam ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
ja proponuje przeczytać ten temat:
Temat: php problem z sesja jako, że jesteś jego autorem ![]() tam zaproponawałem takie coś, aby w jednym rekordie zamowienia znajdowały się takie informacje: - id zamówienia - id usera zamawiającego - itemy które chce kupić (ich ID oddzielone przecinkiem) jak oddzielić przeinkim i jak to rozdzielić wspomniałem we wcześniej wspomnianym temacie pozdrawiam ![]() Ten post edytował Athlan 2.07.2006, 17:29:44 -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Utworz 3 talice:
Zamówienia: identyfikator zamówienia, identyfikator użytkownika Przedmioty: identyfikator przedmiotu i inne informacje Przedmioty zamówienia: identyfikator zamówienia, identyfikator powiązanego z nim przedmiotu, ilość Do zamówień wstawiasz 1 rekord z id zamawiającego użytkownika. Następnie do trzeciej tabeli wstawiasz przedmioty wymienione w zamówieniu i zapisujesz id obecnego zamówienia dla każdego z nich. -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 1.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
hmm...
a w tabeli zamowienia nie zapisywac cen produktu? Bo w momencie jak zaktualizuje tabele produkt i jego cene to w zamowieniach sie automatycznie zmieni cena i byla by wdety afera ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chcesz zrobić coś takiego, to dopisuj ceny do tabeli wiążącej zamówienia z produktami.
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
dlatego zrób jak mowiłem:
- tabela z zamówieniami (id zamówienia, id_produktu, id_usera) - tabela produktów (id_produktu, cena i jeszcze co chcesz) - userzy (id_usera, co tam chcesz) i wtedy gdy w tabeli produktów zmienisz cenę, to w zamówieniu automatycznie też się zmieni bo pobierzesz ją LEFT JOIN'em (http://dev.mysql.com/doc/refman/5.0/en/left-join-optimization.html) z tabeli produktów, to samo dotyczy się usera gdy ten nieoczekiwanie zmieni nick albo co ![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Z tym, że on chciał uzyskać odwrotny efekt
![]() -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 1.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Własnie wartosc zamowienia powina zostac zawsze taka sama obojetnie czy produkt ztanieje czy co, dlatego chyba lepiej w tabeli zamowienia dac kolumne cena no i masz racje bede tez musial dodac kolumne z rodzajem przesylki
![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
sposób płatności powinien być w tabeli z zamówieniami bez 2 słów, w tym celu proponuję stworzyć jeszcze jedną tabele: "platnosci":
- id_platnosci - inne parametry takie jak nazwa, czy dodatkow podatek czy coś ![]() pozdrwaiam, to jest tylko moje zdanie ![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 677 Pomógł: 89 Dołączył: 31.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
i wtedy gdy w tabeli produktów zmienisz cenę, to w zamówieniu automatycznie też się zmieni bo pobierzesz ją LEFT JOIN'em (http://dev.mysql.com/doc/refman/5.0/en/left-join-optimization.html) z tabeli produktów, to samo dotyczy się usera gdy ten nieoczekiwanie zmieni nick albo co ![]() A nie sądzisz, że nie może być takiej sytuacji, w której zmienisz klientowi cenę produktu który jest już w jego zamówieniu? Dlatego cena musi być zapisywana w zamówieniu i musi pozostać niezmieniona. -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Radzę ci rozwiązać problem tak jak powiedział Ludvik
Czyli Kod tabela zamówienia: id, id_usera, płatność, rodzaj przesyłki, adres do przesyłki itp. tabela produkty: id, cena, inne informacje... tabela użytkownicy: id, imię, nazwisko, adres, (i co tam jeszcze chcesz) tabela produkty_zamówione: id_produktu, id_zamówienia, cena @Athlan znasz takie pojęcia jak projektowanie baz danych oraz pierwsza i druga postać normalna (1NF, 2NF)? Ten post edytował Hacker 4.07.2006, 09:38:32 -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
do każdego z tych przedmiotów dajesz id zamówinia (używasz do tego specjalnej kolumny id_zamowienia),
które to zamówienie (tylko jedno) przedtem dajesz do tabeli o nazwie zamównia, tabela zamowienia ma swoje id a takze info kto zamówił, data itp dzieki temu nie musisz za kazdym razem dawac tych informacji do przemiotów USER ---> Zamówienia <--- Przedmioty Ten post edytował php programmer 4.07.2006, 09:53:59 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 22:07 |