Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/04/2012, 12:32
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Cómo ordenar campos en un panel de administración

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
  1. $orden = 10;
  2. $res = mysql_query('SELECT * FROM tabla ORDER BY orden');
  3. while($row = mysql_fetch_assoc($res)) {
  4.       // Suponiendo que tienes un campo llamado "id"
  5.       $id = $row['id'];
  6.       mysql_query("UPDATE tabla SET orden = $orden WHERE id = $id");
  7.  
  8.       // Incrementas orden para el siguiente registro
  9.       $orden += 10;
  10. }
__________________
- León, Guanajuato
- GV-Foto