Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

一条sql语句更新多条数据

sql 语句格式 :

update table set
key =case id
when 1 then “”
when 2 then “”
end,
key =case id
when 1 then “”
when 2 then “”
end,

函数如下:

	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;
	}

No comments yet.

Leave a Comment

You must be logged in to post a comment.