我需要历史表的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
它们在product_table下更为重要,例如add_date,update_date ..etc
现在,如果我插入或更新我的产品表(product_table),那么它的每条记录是新的(插入)还是更新记录,它应该在我的历史记录表中插入/更新( history_table) as:
*以下是在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),因此有些(我想要的)product_table中的列应该在history_table的2列中插入/更新并按上面的定义重置为coloumn。以及我如何在我的产品页面上显示历史。
答案 0 :(得分:0)
在表格AFTER INSERT TRIGGER
上创建AFTER UPDATE TRIGGER
和product_table
。
检查此链接