Salve a tutti, ho creato una classifica editabile tramite il trascinamento delle posizioni in modo dinamico che al cambiamento di posizione viene aggiornato il database.
Questa classifica è stata fatta utilizzando il componente jquery, ogni elemento della lista e di tipo menu_$id e genera un riultato seriale (lista degli id menu).
Passando questo dato alla pagina php per inserire i dati nel db, questo li elabora ma li restituisce con un criterio non propriamente ordinato, spesso mi mette due numeri della stessa posizione, o al primo posto un risultato qualsiasi.
Questo file viene chiamato in modo asincrono dalla pagina che permette di ordinare le liste, elabora la richiesta ed ordina i dati nel database
Codice PHP:
/* Connettiamoci al database */
mysql_connect($DBhost,$DBuser,$DBpass) ...;
$menu = $_POST['menu'];
for ($i = 1; $i < count($menu); $i++) {
$sqlquery = "UPDATE `Class_commerciale` SET `pos`=$i WHERE `id`= $menu[$i]";
mysql_query($sqlquery) or die(mysql_error());
}
mysql_close()
Questo è la variabile 'menu' tratta dalla pagina che contiene le liste :
codice:
serial = "menu[]=2&menu[]=3&menu[]=0&menu[]=1&menu[]=4&menu[]=5&menu[]=6&menu[]=7&menu[]=8&menu[]=9&menu[]=10&menu[]=11&menu[]=12&menu[]=13&menu[]=14&menu[]=15&menu[]=16&menu[]=17&menu[]=18&menu[]=19&menu[]=20"
Dove sbaglio? Grazie in anticipo del vostro aiuto