用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4001|回复: 2
收起左侧

两数组,其中一组为判断,另一组为值,来更新数据表?

[复制链接]
发表于 2012-5-22 11:31:45 | 显示全部楼层 |阅读模式
例如:
$a =array( '0'=>1,'1'=>2,'2'=>3, '3'=>4);
$b =array( '0'=>'广州','1'=>'上海','2'=>'北京', '3'=>'厦门');
//上面两个数组只是列出一小段,真正的数组长度起码好几十。
数据表cate_child有两个字段: cateldidcateldname
如何使用CI数据库类的$this->-db->update();
来写更新语句。当cateldid =$a[0]时,cateldname =$b[0]; 当cateldid =$a[1]时,cateldname =$b[1].....等等
发表于 2012-5-22 11:49:33 | 显示全部楼层
你这个应该要遍历一下数组$a 来更新
$this->db->where('id', $a[0]);
$this->-db->update('cate_child', array('cateldname'=>$b[0]));
 楼主| 发表于 2012-5-22 12:00:55 | 显示全部楼层
难道要这样?
$c=$a.length;
for($i =0;$i<$c;$i++){
   $this->db->where('id', $a[$i]);
  $this->-db->update('cate_child', array('cateldname'=>$b[$i]));
}
可是这样不是等于写了$c段 $this->db->where(),$this->db->update代码~频繁的更新数据。有没有更好的一次性更新全部。麻烦大家了。

本版积分规则