我拥有的: joomla-php中的一个MYSQL表,根据他的年龄和教育情况为某人提供点数。
按下提交按钮后有一个php函数,显示“if dropdown box age > 30
,然后给5分。将fieldvalue”5“插入数据库行,fieldname = 'point-age'
和{{1} }。
如果'fieldvalue' = 5
,请给“fieldname'point-age',age < 30
10分。
教育相同(高中5分,大学10分等)。
Fieldname = education。
然后它添加到最后一行,'fieldname = point-total','fieldvalue'=所有其他行的总和。
我的php功能:
fieldvalue = '10'
这很有效。
但是,我想要做的是:在更新数据库值之后,例如某人拥有高中学历并获得大学学位,或者30岁以后,或者只是纠正错误。它应该自动更新。不手动更新所有相应的字段值和总值,尤其是对于更多字段。
我正在尝试使用数据库触发器,但它显示错误消息:
//case for age
switch ($_POST['form']['age'][0]) {
case 'over 30':
$_POST['form']['point-age'] = 5;
break;
case 'less than 30':
$_POST['form']['point-age'] = 10;
break;
}
//case for education
switch ($_POST['form']['education'][0]) {
case 'high school':
$_POST['form']['point-education'] = 5;
break;
case 'university':
$_POST['form']['point-university'] = 10;
break;
}
//the sum
$_POST['form']['point-total'] = $_POST['form']
['point-age'] + $_POST['form']['point-education'];
我目前的问题: -我究竟做错了什么? - 触发器如何修复? - 有没有更好的方法来完成我的功能,在更改后更新积分?
#1362 - Updating of NEW row is not allowed in after trigger