簡體   English   中英

如何使用php將訂單歷史記錄存儲在數據庫中?

[英]How do I store order history in a database using php?

我有一個用戶可以下訂單的網站。 在准備交付之前,訂單經歷了各個階段。 我希望能夠隨時記錄與訂單有關的任何事件。

這是我希望它看起來的示例:

(2/13/12 4:41 pm):客戶發起的訂單
(2/13/12 4:41 pm):訂單已發送給經理以供批准
(2/13/12 4:43 pm):經理批准的訂單
(2/14/12 6:03 pm):訂單由用戶編輯:

(2/14/12 6:09 pm):訂單由管理員編輯:

(2/15/12 8:41 pm):訂單已准備好交付

對我而言,存儲此類訂單歷史記錄的最佳方法是什么? 我在數據庫中創建了一個名為history的表,我想在其中存儲與每個訂單有關的歷史記錄。 我的列是history_id(主要),order_id(外國),添加日期(時間戳)和history_message(varchar)。

理想情況下,我想為訂購過程中的每個步驟創建編號的代碼,例如訂單批准,訂單編輯或訂單交付,然后只為該行分配編號,而不是實際的歷史消息(更多字符)。 我覺得這樣我不會過度使用數據庫。 這種方法的問題在於,我想保留更改后的實際數據的日志(如您在示例中的用戶和admin的編輯中所見),並且我不確定如何在不進行更改的情況下完成此操作保存每行的完整歷史記錄消息。

針對我的情況,將訂單歷史記錄存儲在數據庫中的最佳方法是什么?

您可以使用觸發器更新跟蹤每個訂單狀態的子表。

基本上使用插入觸發器或通過插入查詢在訂單狀態更新后進行手動插入,您可以將所需數據從訂單表復制到新表中,我們可以將其稱為跟蹤訂單。 跟蹤表將跟蹤所有更改,並在主表中記錄當前狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM