Cuando eliminas un elemento, tienes que leer todos los registros y actualizar el orden a mano. Ahora, te sugiero que no uses 1, 2, 3, 4, sino 10, 20, 30, 40, etc.; explico:
Código:
Orden - Nombre
-------- ------------------------
10 Campo 1
20 Campo 3
30 Campo 4
40 Campo 2
Si quieres subir "Campo 2" para quedar antes del 4, tendrías que asignar 25 en el orden. Después, lees todos los registros, lógicamente ordenados por "orden" y:
Código PHP:
Ver original$orden = 10;
$res = mysql_query('SELECT * FROM tabla ORDER BY orden'); // Suponiendo que tienes un campo llamado "id"
$id = $row['id'];
mysql_query("UPDATE tabla SET orden = $orden WHERE id = $id");
// Incrementas orden para el siguiente registro
$orden += 10;
}