Foros del Web » Programando para Internet » PHP »

Reordenar elementos Zend Framework

Estas en el tema de Reordenar elementos Zend Framework en el foro de PHP en Foros del Web. Buenos días, Necesitaría reordenar los elementos de una tabla después de una inserción. Mi tabla esta compuesta por Nombre y Orden. Donde orden es la ...
  #1 (permalink)  
Antiguo 18/03/2017, 07:38
 
Fecha de Ingreso: mayo-2011
Mensajes: 256
Antigüedad: 12 años, 11 meses
Puntos: 5
Reordenar elementos Zend Framework

Buenos días,

Necesitaría reordenar los elementos de una tabla después de una inserción.

Mi tabla esta compuesta por Nombre y Orden. Donde orden es la posición que ocupa. Cuando haga una nueva inserción quiero que se coloque en la primera posición y el debería de cambiar el resto de orden de los elementos, el primero pasar al segundo, el segundo al tercero y así sucesivamente.

Estoy usando Zend Framework 2, ¿cómo podría hacerlo?

Muchas gracias
Saludos
  #2 (permalink)  
Antiguo 19/03/2017, 05:39
 
Fecha de Ingreso: diciembre-2009
Mensajes: 92
Antigüedad: 14 años, 4 meses
Puntos: 13
Respuesta: Reordenar elementos Zend Framework

De qué tipo de tabla se trata?

En PHP sería un array, por lo que podrás ordenarlo usando alguna función de éstas: http://php.net/manual/en/array.sorting.php

Si es una tabla MySql no se puede ordenar, cuando haces una query para recuperar los datos usas ' SELECT * FROM tabla ORDER BY orden'.

Si es una tabla html, para insertar los valores de forma ordenada deberás usar javascript o jquery.

Saludos.
  #3 (permalink)  
Antiguo 19/03/2017, 22:37
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: Reordenar elementos Zend Framework

Directamente no lo puedes hacer a una tabla de base de datos. Los registros se guardan uno detrás de otro. Cada vez que quieras mostrar el orden de las personas, tendrás que hacerlo en los querys. Para ello te aconsejaria que añadieses un campo del tipo datetime que almacenará la fecha y hora de la inserción.

Después haces el query diciéndole que lo ordene por fecha de insercion en orden descendente y el resultado será un array ordenado como tu lo deseas.

Si sigues pensando que lo quieres en la base de datos como tu lo dices, entonces no te queda de otra que crear una tabla con la estructura que tu comentas y con el query que ya hiciste antes de ordenar por fecha, le haces un Truncate a la nueva tabla e insertas los datos del arrya de antes a la nueva tabla.

Pero si no es realmente necesario la otra tabla, pues lo mejor es que teabajes con el array solamente.

Última edición por Triby2; 20/03/2017 a las 06:38
  #4 (permalink)  
Antiguo 21/03/2017, 09:05
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Reordenar elementos Zend Framework

Si tu tabla tiene un id auto incremental puedes utilizar la cláusula order by como te comentan para ordenar del más reciente al más antiguo

Código SQL:
Ver original
  1. SELECT * FROM tabla ORDER BY tabla.id DESC

Sí tu tabla no tiene ningún campo autoincremental, bien puedes crearlo o utilizar un datetime como te comentan para realizar la ordenación. Actualizar o mover todos los campos cada vez que se añada un registro me parece una locura y poco práctico aún que posible. ¿Pero que pasaría si tenemos que ordenar 1M de registros por ejemplo? ¿Actualizamos el millón de registros? Para mi tal y como lo planteas al principio es un desperdicio de recursos.
__________________
Unset($vida['malRollo']);

Última edición por xerifandtomas; 21/03/2017 a las 09:10

Etiquetas: elementos, framework, zend
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:30.