2012-02-19 7 views
1

사용자가 주문할 수있는 사이트가 있습니다. 주문은 배송 준비가되기 전에 다양한 단계를 거칩니다. 주문과 관련하여 아무 때 나 기록 할 수 있기를 바랍니다.PHP를 사용하여 데이터베이스에 주문 내역을 저장하려면 어떻게해야합니까?

(2/13/12 4:41 PM) : 고객이 시작 주문
(2/13/12 4 다음

는보고를 위해 내가 좋아하는 것이 무엇의 예 : 41pm) : 주문 승인
(2/13/12 4:43 PM)에 대한 관리자로 전송 : 주문 관리자
(2/14/12 6:03 PM) 승인 : 순서는 편집 된 사용자 :
                                                         도시 : 로스 앤젤레스 ''샌디에고 '에
(14분의 2/12 6:09 pm) : The o RDER 관리자에 의해 편집 한 :
                                                            이메일 : '[email protected]'에 '[email protected]',210
(2/15/12 오후 8시 41분) :

주문 내역의이 유형을 저장하는 가장 좋은 방법은 무엇입니까 배달

준비
주문? 나는 DB를 사용하여 각 주문과 관련된 역사를 저장하고자하는 DB라는 테이블을 만들었습니다. 내 열은 history_id (기본), order_id (외국), 추가 된 날짜 (시간 소인) 및 history_message (varchar)입니다.

이상적으로 주문 승인, 주문 수정 또는 주문 배송과 같은 주문 프로세스의 각 단계에 대해 번호가 매겨진 코드를 만든 다음 실제 기록 메시지 대신 해당 행의 번호를 할당하고 싶습니다. 더 많은 문자. 이 방법으로 DB를 초과하지 않을 것이라고 생각합니다. 이 접근 방식의 문제점은 변경된 실제 데이터의 로그를 유지하고 싶다는 것입니다. 예를 들어 사용자 및 관리자가 편집 한 내용에서 볼 수 있듯이이를 수행하지 않으면 어떻게 될지 확신 할 수 없습니다. 각 행에 대한 전체 기록 메시지를 저장합니다.

내 상황에 맞는 데이터베이스에 주문 내역을 저장하는 가장 좋은 방법은 무엇입니까?

답변

0

트리거를 사용하여 각 주문 상태를 추적하는 하위 테이블을 업데이트 할 수 있습니다.

기본적으로 삽입 트리거를 사용하거나 업데이트 후 수동 삽입을 삽입 쿼리로 주문 상태에서 필요한 데이터를 주문 테이블에서 우리가 trackorders라고 부를 수있는 새 테이블로 복사 할 수 있습니다. 추적 테이블은 모든 변경 사항을 추적하고 현재 상태가 메인 테이블에 기록됩니다.

+0

응답 해 주셔서 감사합니다. Teez! 나는 당신이 제안하고있는 것을 이해할 수 있다고 생각하지만, 구현에 대해 너무 확신하지는 않습니다. 새 테이블을보고 어떻게 코드 샘플을 구상하는지 어떻게 보여줄 수 있습니까? – zeckdude

관련 문제