我工作於以PHP和MySQL開發的以市場研究數據庫爲中心的網站。 它由兩個大部分組成 - 用戶可以在其中插入和更新自己的數據(讓一個表T帶有user_id字段),另一個部分是網站管理員可以插入新的或更新現有記錄(同一個表)。跟蹤數據變化
顯然,在某些情況下,最終用戶的數據會被管理員覆蓋,而在其他情況下,管理員輸入的數據將由最終用戶更新(這兩種方式都很好)。
要求是如果最終用戶是最後一個更新某個字段,或者如果管理員要「責備」,則需要用藍色突出顯示查看/編輯表單(比方說)。
我正在研究一種高效和一致的方法來實現這一點。
到目前爲止,我有以下選擇:
對於表T的每個記錄,添加在其中寫「U」如果終端用戶插入/更新字段另一個((1)字符)或者如果管理員這樣做了'A'。當呈現查看/編輯表單時,使用此信息來相應地突出顯示每個字段。
創建一個新表H存儲包含諸如user_id,field_name,last_update_user_id之類的編輯歷史。當主表T中的字段更新時,使表H保持最新。當呈現查看/編輯表單時,使用此信息來相應地突出顯示每個表單字段。
這些選項有什麼優點/缺點;你能建議其他人嗎?
「記錄」,你的意思是行或列? – 2011-02-07 17:13:28
對不起Jakob的困惑,我打算說專欄;我將編輯以反映此 – Adrian 2011-02-07 17:16:35