Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/04/2012, 12:47
Avatar de JaimeMSE
JaimeMSE
 
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: Cómo ordenar campos en un panel de administración

Cita:
Iniciado por Triby Ver Mensaje
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. }
Creo que implementar lo que me propones sería muy engorroso.

Entonces, yo me pregunto: ¿Cómo hacen las webs para que cuando pulses en una flechita hacia arriba se mueva uno más para arriba y el que está arriba descienda?

Gracias de todas formas :)
__________________
@JaimeMSE - ¡Sígueme!