$db->execute("UPDATE widget_user SET position = position - 1 WHERE col = ? AND range_id = ? AND position > ? AND position <= ? AND id <> ?",[$oldWidget['col'],$GLOBALS['user']->id,$oldWidget['position'],$position,$widget]);
],function($row){
}else{
returnarray_column($row,'id');
//Move forward items BETWEEN old and new position
});
$db->execute("UPDATE widget_user SET position = position + 1 WHERE col = ? AND range_id = ? AND position < ? AND position >= ? AND id <> ?",[$oldWidget['col'],$GLOBALS['user']->id,$oldWidget['position'],$position,$widget]);
}
// Set new positions
}else{
$query="UPDATE `widget_user`
// Push all entries in the new column one position away
SET `col` = :column,
$db->execute("UPDATE widget_user SET position = position + 1 WHERE range_id = ? AND col = ? AND position >= ?",[$GLOBALS['user']->id,$column,$position]);
$db->execute("UPDATE widget_user SET position = ?, col = ? WHERE id = ? ",[$position,$column,$widget]);
$statement->bindValue(':column',$column);
// Move positions in old column
$ids=array_merge(
$db->execute("UPDATE widget_user SET position = position - 1 WHERE col = ? AND range_id = ? AND position > ?",[$oldWidget['col'],$GLOBALS['user']->id,$oldWidget['position']]);