我有一个表单,其中复选框设置为按位值(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
我不知道它是否有区别,但是:还有其他数据类型(除了按位整数,如文本)和其他表单类型(如文本字段)。
PS我宁愿不必以某种方式检查是否有多个同名实例然后进行添加。
PPS我从这个问题中得到了更新的想法:MySQL Batch 增加值?,我试了一下,但它没有更新null
值(我需要它来做)。
提前致谢!