一段批量排序的SQL语句

DATE: 2015-06-22 / VIEWS: 1043

$postArr=I('post.sort');
$sql = "UPDATE __TABLE__ SET `sort` = CASE `id` ";
$ids = implode(',', array_keys($postArr));
foreach ($postArr as $k=>$v){
	$sql .= sprintf("WHEN %d THEN %d ", $k, $v);  // 拼接SQL语句
}
$sql .= "end where `id` in ($ids)";

表单中的排序输入框:


<input type="text" name="sort[{$list.id}]" value="{$list.sort}" onkeyup="value=value.replace(/[a-zA-z]+$/,'')" />