龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

一条SQL语句更新多条记录

时间:2014-07-22 14:50来源: 作者: 点击:
分享到:
从表单获取两个数组, 一是要更新字段数据 , 另一个是条件数组, 我这里用id br / br / 来源:http://www.liuhai.org/sql-set-key-case-when-then br / br /
从表单获取两个数组, 一是要更新字段数据 , 另一个是条件数组, 我这里用id

来源:http://www.liuhai.org/sql-set-key-case-when-then


	function save_category_district($parame,$id){
		if(!is_array($parame) || !is_array($id)) return false;
		$sql="UPDATE ".table.'category_district'.' SET ';
		foreach($parame as $key=>$val){
			$csql.=$key.'=CASE id';
			foreach($parame[$key] as $key=>$val){
				$csql.=" WHEN {$id[$key]} THEN '{$val}'"; //注意这里id的key必须和要更新数据的key相同,就是表单里出来的数字键
			}
			$csql.=' END,';
		}
		$sql.=rtrim($csql,','); //这一步就是为了去除最后一个END后的逗号
		$id=implode(',',$id);  //id在这里变为字符串
		$sql.=" WHERE id IN ({$id})";
		if(!$this->mydb->query($sql)) return false;
		return true;
	}
精彩图集

赞助商链接