Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Relacja produkt - zamówienie
camikazee
post
Post #1





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 17.04.2006
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Poszukuje jakiegoś sensownego rozwiązania odnośnie pewnego problemu. Problem pojawia się choćby w sklepie internetowym, chodzi o relacje produkt - zamówienie. W uproszczeniu tabela zamówienia zawiera id produktu plus wiadomo dodatkowe informacje. Kwestia co zrobić gdy produkt zostanie usunięty, a użytkownik będzie chciał zobaczyć szczegóły zamówień czyli jakie produkty i za ile kupił. Wiadomo mogę wyświetlić informacje, że produktu już w bazie nie ma lub np po złożonym zamówieniu zapisywać je po prostu do pliku.
Macie jakieś ciekawe pomysły?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
toffiak
post
Post #2





Grupa: Zarejestrowani
Postów: 395
Pomógł: 80
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


Relacja produkt zamówienie to relacja wielu do wielu, jeden produkt może należeć do wielu zamówienień a zamówienie może mieć wiele produktów.

Co do usuwania produktów, możesz dublować dane produktu na przykład wiążąc dodatkową tabelę zawierającą zdublowane dane produktów z tabelą zamówienia, wtedy usuwając produkt z właściwej tabeli wciąż masz o nim informacje.
Lub drugie podejście, nie usuwać produktów a oznaczać je tylko jako usunięte, dla klienta produkty nie są widoczne ale w dokonanych zamówieniach masz dostęp do tych produktów.

W jednym ze swoich projektów miałem sytuację w której dane o produktach zmieniały się, zamówiernia klientów musiały dotyczyć produktów których cena była taka jak w chwili zamówienia, rozwiązałem to poprzez dodanie tabeli pozycje zamówienia, połączonej z zamówieniami z której były odnośniki do oryginalnych produktów plus informacje które mogły się zmienić jak: cena produktu.

W ten sposób nawet po oznaczeniu produktu jako niedostępny, lub zmienie jego ceny, poprzednie zamówienia klientów mogły być ponownie realizowane na podstawie poprzednich danych.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.09.2025 - 16:30