2010-07-08 46 views
2

我正在使用zend框架構建一個cms,並且已經實現了一個基於文本的日誌,它將記錄任何錯誤並允許我記錄任何我想要記錄的自定義消息。如何使用Zend框架將用戶操作記錄到數據庫

作爲cms的一部分,我需要提供一些頁面修改歷史記錄,博客文章等。我的想法是簡單地有一個日誌表來存儲用戶,操作,數據時間,SQL運行,表名該查詢在記錄上執行。

要獲取頁面的修訂歷史記錄,您只需查詢記錄表,查看查看的當前記錄的表名和recordid。按日期排序desc。然後,您可以通過在日誌表的sql列中運行update語句來提供恢復所需修訂的功能。如果它的插入,然後找出一些插件轉換爲更新或不允許用戶恢復到初始插入。

這是實現這一目標的最好方法還是我有點簡單。

+0

你可能想爲你使用的數據庫添加一個標籤 – Gordon 2010-07-08 16:26:27

回答

3

將「修訂版」列添加到要支持修訂版的表中會更好,因此該表中的每個文檔都會有多個修訂版。

您還可以爲要激活的修訂添加1的「激活」列,對同一文檔的其他修訂添加0。通過WHERE active = 1,可以輕鬆查詢想要顯示的修訂版本。它還可以輕鬆更改哪個版本處於活動狀態。

我不建議將完整的SQL語句存儲在日誌表中。這是SQL注入安全風險。

+0

歡呼聲matey,聽起來像一個計劃,網站不需要支持數百頁,所以它不應該有任何問題的表大小創建一個新的頁面,每次有人編輯。助教。 – 2010-07-08 18:26:07

相關問題