premetto che hai un campo tipo quello indicato da bonaprogram e che i valori hanno un incremento di 10 e che per ogni riga hai un id di creazione independente dalla posizione della riga nella pagina.
Quando sposti sù togli 11 al valore della riga.
Quando sposti giù aggiungi 11.
Poi fai il richiamo ad una pagina (trattamento batch nel senso che nessun valore viene inviato al browser) che rinumera il campo e torni alla pagina principale con un header.
codice:
Situazione iniziale :
Pos Creazione
Riga 1 - 10 1
Riga 2 - 20 2
Riga 3 - 30 3
Sposti sù la Riga 3....
Pos Creazione
Riga 1 - 10 1
Riga 3 - 19 3
Riga 2 - 20 2
Fai la rinumerazione a partire dalle posizioni utilizzando l'id di creazione e ottieni
Pos Creazione
Riga 1 - 10 1
Riga 3 - 20 3
Riga 2 - 30 2
codice:
... collegamento al db
$num = 10;
$query = "select idcreazione from tabella order by posizione";
$res = mysql_query($query);
while (list($idcreazione) = mysql_fetch_array($res)) {
$query2 = "update tabella set posizione = '$num' where idcreazione = '$idcreazione'";
$res2 = mysql_query($query2);
$num = $num + 10;
}
header('location:'.$pagina_di_ritorno);
exit;