我有一个表格,复选框设置为按位值(CB1 = 1,CB2 = 2,CB3 = 4,CB4 = 8),我想将它们的总和存储在一个单元格中(以避免出现空字段) )。复选框具有相同的名称但值不同,数据作为序列化字符串发送到处理php脚本,即name=value&name=value2&name3=value3&name=&name=value5
目前,我可以将字符串分开并相当有效/轻松地将值放入正确的单元格中。但是,我想知道是否有办法将第一个值插入单元格,然后将后续值添加到同一个单元格。我想它看起来像这样:
foreach ( $qaPairs as $pair ) {
list($question , $answer) = explode('=', $pair);
// ^ splits Q1=A1 into $question=Q1 and $answer=A1
// this mysql_query is a modified version of what I'm currently using
mysql_query("UPDATE $table SET `$question`=`$question`+'$answer' WHERE `key`='$key';") or die(mysql_error());
// $question is also the name of the column/field
} // end foreach
我不知道它是否有所作为,但是:还有其他数据类型(除了按位整数,如文本)和其他表单类型(如文本字段)。
P.S。我宁愿不必以某种方式检查是否有多个相同名称的实例然后再添加。
P.P.S。我从这个问题得到了更新的想法: MySQL Batch increase value?,我尝试了它,但它没有更新null
值(我需要它做)。
提前致谢!