履歴テーブルに PHP-MYSQL クエリ (コード) が必要です。何をどのように行う必要があるかはわかっていますが、mysql クエリを作成する方法と、php ページにリストする方法がわかりません。以下は私が考え、実装したいものです。
私は製品テーブルを次のように持っています:product_table
id | cat_id | Subcat |productname | weight | assigned_to | status_id
---------------------------------------------------------------------------
1 | 11 | 2 | P1 | 5.8 | 8 | 1
2 | 12 | 3 | P2 | 6.7 | 27 | 2
それらは、 add_date 、 update_date ..などの product_table の下のメインの列です。
ここで、Product テーブル (product_table)を挿入または更新すると、その新しい (挿入) レコードまたは更新レコードに関係なく、各レコードが次のように履歴テーブル (history_table)に挿入/更新されます。
*以下は、新しい値がproduct_table に挿入され、以下のように履歴テーブルの下にある場合のものです:*
id | pid | cat_id | sub_cat | old_value | new_value | filed_name | date_m
---------------------------------------------------------------------------------------------------------
1 | 1 | 11 | 2 | 0 | P1 | productname | 2014-01-17 05:05:21
2 | 1 | 11 | 2 | 0 | 5.8 | weight | 2014-01-17 05:05:21
3 | 1 | 11 | 2 | 0 | 8 | assigned to | 2014-01-17 05:05:21
4 | 1 | 11 | 2 | 0 | 1 | status | 2014-01-17 05:05:21
製品テーブルの下にある場合:レコード 1 が更新され、同じように履歴テーブル AS 以下に移動します。
id | pid | cat_id | sub_cat | old_value | new_value | field_name | date_m
--------------------------------------------------------------------------------------------------------
1 | 1 | 11 | 2 | P1 | P2 | productname | 2014-01-18 03:05:22
2 | 1 | 11 | 2 | 5.8 | 5.4 | weight | 2014-01-18 03:05:22
3 | 1 | 11 | 2 | 8 | 7 | assigned to | 2014-01-18 03:05:22
4 | 1 | 11 | 2 | 1 | 4 | status | 2014-01-18 03:05:22
したがって、id : 1 の履歴の製品ページを見ると、次のようになります。
Date | User | field_name | Change
-----------------------------------------------------------------------------------
2014-01-17 05:05:21 | admin | productname | => P1
2014-01-17 05:05:21 | admin | weight | => 5.8
2014-01-17 05:05:21 | admin | assigned to | => 8
2014-01-17 05:05:21 | admin | status | => 1
2014-01-18 03:05:22 | admin | productname | P1 => P2
2014-01-18 03:05:22 | admin | weight | 5.8 => 5.4
2014-01-18 03:05:22 | admin | assigned to | 8 => 7
2014-01-18 03:05:22 | admin | status | 1 => 4
したがって、これは私が実装しようと考えているものですが、挿入および更新中にどのコード (mysql) を作成する必要があるかを取得していません。上で定義したように列ごとに。そして、履歴の時点で製品ページに表示する方法。