Hola.
Tengo unas listas extraídas de una base de datos que se pueden ordenar arrastrando y soltando, pero no consigo que los cambios se guarden en la base de datos.
El código que utilizo es este:
Base de datos bdconvoca con 5 campos:
Id (PK), orden (es el campo que ha de indicar el orden de las filas después de los cambios), nombre, apellidos y codigousu.
La consulta a la base de datos:

mysql_select_db($database_connecta, $connetado);
$query_convocatoria = "SELECT * FROM bdconvoca ORDER BY bdconvoca.orden ASC";
$convocatoria = mysql_query($query_convocatoria, $connecta) or die(mysql_error());
$row_convocatoria = mysql_fetch_assoc($convocatoria);
$totalRows_convocatoria = mysql_num_rows($convocatoria);

Algunos estilos css que no viene al caso y una librería de jquery, que no creo importante incluir aquí, pero que es esta, para más información.
<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="../js/jquery-ui-1.8.custom.min.js"></script>
<script type="text/javascript" src="../js/jquery.cookie.js"></script>

Luego este script en el head:

<script type="text/javascript">
$(document).ready(function(){
$(function() {
$("#contentLeft ul").sortable({ opacity: 0.6, cursor: 'move', update: function() {
var order = $(this).sortable("serialize") + '&action=updateRecordsListings';
$.post("updatedataB.php", order, function(theResponse){
$("#contentRight").html(theResponse);
}); }
});
});
});
</script>

Hasta aquí funciona perfectamente el arrastrar y soltar ordenando las listas.

Y finalmente el código del archivo updatedataB.php, que seguramente no es correcto, ya que no realiza la función de guardar los cambios:

$action = mysql_real_escape_string($_POST['action']);
$updateRecordsArray = $_POST['recordsArray'];
if ($action == "updateRecordsListings"){
$listingCounter = 1;
foreach ($updateRecordsArray as $recordIDValue) {
$query = "UPDATE bdconvoca SET id = " . $listingCounter . " WHERE id = " . $recordIDValue;
mysql_query($query) or die('Error, insert query failed');
$listingCounter = $listingCounter + 1;
}
echo '<pre>';
print_r($updateRecordsArray);
echo '</pre>';
echo 'Si actualiza la página verá que los cambios se mantienen.';

Y esto es todo, si alguien me puede ayudar le estaría muy agradecido, ya que llevo mucho tiempo intentando solucionar este problema.

También aceptaría una copia del código necesario, si alguien dispone del mismo en páginas suyas, aunque sea distinto.

Gracias