Primero de todo, necesitas crear una columna nueva en la tabla de tipo entero que sea el orden de elemento (lo vamos a llamar orden).
Aquí es donde buscas las categorías, fíjate en la consulta:
Código PHP:
Ver original<?php
$query_rs_categoria = "SELECT * FROM categorias ORDER BY orden ASC";
?>
Aquí el código PHP de la página que muestra las categorías:
Código PHP:
Ver original<table id="tabla_sortable" width="700" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#CCCCCC">
<tr>
<td colspan="3" class="texto"><div align="center" style="margin-bottom:10px; margin-top:10px;">LISTADO DE CATEGORIAS</div></td>
</tr>
<tr>
<td width="214" bgcolor="#CCCCCC" class="texto">Categorías</td>
<td width="280" bgcolor="#CCCCCC" class="texto">Estado</td>
<td width="184" bgcolor="#CCCCCC"> </td>
</tr>
<tr>
<td height="10" colspan="3"></td>
</tr>
<?php do { ?>
<tr id="categoria_<?php echo $row_rs_categoria['codcategoria']?>">
<td class="texto"><?php echo $row_rs_categoria['nom_categoria']; ?></td>
<td class="texto"><?php echo $row_rs_categoria['estado']; ?></td>
<td class="texto"><a href="modificar_categoria.php?codcategoria=<?php echo $row_rs_categoria['codcategoria']; ?>">Modificar</a> / <a href="eliminar_categoria.php?codcategoria=<?php echo $row_rs_categoria['codcategoria']; ?>">Eliminar</a></td>
</tr>
<tr>
<td height="10" colspan="3"></td>
</tr>
</table>
<input id="boton_act" type="button" value="Actualizar" />
El código Javascript que se encarga de permitir ordenar y enviar los datos
de la lista al servidor:
Código Javascript
:
Ver original$('#tabla_sortable').sortable({axis:'y',items:'tr'});
$('#boton_act').click(function(){
$.ajax({
type : 'POST',
data: ({orden : $('#tabla_sortable').sortable('serialize');})
url: "actualizar_orden.php",
success: function(){
$("#informacion").html("Se ha actualizado correctamente");
},
error: function(){
$("#informacion").html("No se ha actualizado correctamente");
}
});
});
Te faltaría crear el archivo actualizar_orden.php:
Código PHP:
Ver original<?php
for
for ($i = 0; $i < count($categoria); $i++){ $query_rs_categoria = "UPDATE categorias SET orden = ".$i."WHERE id =".$categoria[$i];
//No se si esta bien del todo puesta la consulta (las comillas y todo eso).
}
?>
Más o menos sería así.