重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
更新是要更新两次 但是你可以用循环批量更新的!
10年积累的成都做网站、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有澄海免费网站建设让你可以放心的选择与我们合作。
对数据库的操作是每次一条 或者 你可以写事务的,这样的话就比较麻烦了
就用循环吧咐厅
首先把你的衡配隐一个tr/tr中的四个内容都用相应的数组名字name[]作名字
然后 提交后 得出来数组长度 然后循环相应的次数
执行SQL操作 就卖羡OK
如果具体的 问题 可以 留言
有啊,只要where后面的条件把握好就行了,把握卜郑瞎不好型空,可能数据就苦逼了,
所有:update table1 set num=num+1
条件(num不等于0):update table1 set num=num+1 where num丛败0
sql= "UPDATE mydata SET p1='山档".$pointarr[i][1]."' where ps like '%".$pointarr[i][
每次都去做一次like的全表扫描当然慢了。
建议使用批量更新,减少查询次数。
比如先查询出结果集,然后在内存里去灶神操作字段更新
最后采用 update ...... where id = xxx 这样的更新方法逗辩乱。避免多次全表扫描。
不是最了解你的需求,仅供参考。
thinkphp批量更新数据漏山可以参考如下三种方法:
方法一:
//批量修改 data二维数组 field关键字段神谈 参考ci 批量修改函数 传参方式
function batch_update($table_name='',$data=array(),$field=''){
if(!$table_name||!$data||!$field){
return false;
}else{
$sql='UPDATE '.$table_name;
}
$con=array();
$con_sql=array();
$fields=array();
foreach ($data as $key = $value) {
$x=0;
foreach ($value as $k = $v) {
if($k!=$field!$con[$x]$x==0){
$con[$x]=" set {$k} = (CASE {$field} ";
}elseif($k!=$field!$con[$x]$x0){
$con[$x]=" {$k} = (CASE {$field} ";
}
if($k!=$field){
$temp=$value[$field];
$con_sql[$x].= " WHEN '{$temp}' THEN '{$v}' ";
$x++;
}
}
$temp=$value[$field];
if(!in_array($temp,$fields)){
$fields[]=$temp;
}
}
$num=count($con)-1;
foreach ($con as $key = $value) {
foreach ($con_sql as $k = $v) {
if($k==$key$key$num){
$sql.=$value.$v.' end),';
}elseif($k==$key$key==$num){
$sql.=$value.$v.' end)';
}
}
}
$str=implode(',',$fields);
$sql.=" where {$field} in({$str})";
$res=M($table_name)-execute($sql);
return $res;
}
//测试
function test(){
$update_array=array();
for ($i=2; $i 7 ; $i++) {
$data=array();
$data['id']=$i;
$data['返瞎中memeber_type']=2;
$data['memeber_type_state']=1;
$update_array[]=$data;
}
$res=$this-batch_update('yl_member',$update_array,id);
var_dump($res);
}