Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在更新记录时取消列值_Php_Mysql - Fatal编程技术网

Php 如何在更新记录时取消列值

Php 如何在更新记录时取消列值,php,mysql,Php,Mysql,我有一个Mysql表,如下所示: Id Name Points Done_by 1 x 20 0 2 y 30 0 3 z 10 0 在我的代码中,我有3个操作(Approve、Reject、Close)。如果主管角色人员可以批准、拒绝、关闭表中的记录 因此,如果任何主管批准/拒绝/关闭任何记录,则意味着他们的id将保留在“完成人”列中 我想要的是,如果一个主管批准Id 1的意思,那么表记录如下所示 Id

我有一个Mysql表,如下所示:

Id  Name  Points  Done_by

1    x     20      0

2    y     30      0

3    z     10      0 
在我的代码中,我有3个操作(Approve、Reject、Close)。如果主管角色人员可以批准、拒绝、关闭表中的记录

因此,如果任何主管批准/拒绝/关闭任何记录,则意味着他们的id将保留在“完成人”列中

我想要的是,如果一个主管批准Id 1的意思,那么表记录如下所示

Id   Name   Points  Done_by  
1     x      20      emp10
如果另一名主管被拒绝,则表示表格记录如下所示:

Id   Name   Points  Done_by  
1     x      20      emp10 ,  emp 5
结束时也一样


如何在PHP Mysql中实现这一点

尝试使用此SQL查询:
更新您的_表集合Done_by=(CASE Done_by WHEN 0然后“your_supervisor_id”ELSE CONCAT(Done_by,,,“your_supervisor_id)END)


检查CONCAT的手动函数

很抱歉,它不适用于我,这是我的查询“更新摘要集完成者=(案例完成者,当0时)”.$done\u by\u id.“'ELSE CONCAT(完成者,',','“$done\u by\u id.”)END),其中id=“$id.””您可以对PHP生成的SQL进行回显吗?如果我回显意味着更新hr_performance_summary SET done_by=(CASE done_by WHEN 0,那么“A-1”ELSE CONCAT(done_by,,,,,“A-1”)END,其中id='1',当然,如果您有一行id为1,则此查询应该可以工作。您是否将自动提交设置为false?但我使用的是laravel原始格式,但它不起作用