reordenar campos cada vez que inserto uno nuevo, hago una modificación o elimino un registro
Publicado por Vanesa (4 intervenciones) el 12/01/2021 19:55:52
Hola. Llevo mucho tiempo sin visitar estos foros porque programo puntualmente y me dedico más al tema de la maquetación actualmente.
Estoy intentado desarrollar una función en php , function reordenar (id, orden), que se ejecute cada vez que meto un elemento nuevo en la tabla (mysql), o ejecuto una modificación que conlleve un cambio de orden de los registros, o elimino uno de los registros, pues que el campo "orden" se reordene en cada uno de los registros de la tabla.
El campo orden, va de 1 a el que fuese el último de los registros y siempre serían consecutivos entre todos los registros, no pudiendo ni saltarse ni repetirse.
Ejemplo, tengo 10 registros en la tabla, y quiero cambiar el que hace de orden 5 al 7; lo que significaría, que del 1 al 4 quedarían igual, el 6 pasaría a ser el 5, el 7 pasaría a ser el 6 y el antiguo 5 pasaría a ser el nuevo 7.
He intentado varías cosas, pero no lo consigo. Además también tendría que tener en cuanta cuando el cambio de orden es hacia atrás, por ejemplo del 7 al 5.
Si alguien tiene un pequeño código que resuelva mi problema se lo agradeceré eternamente.
Gracias de antemano!
Estoy intentado desarrollar una función en php , function reordenar (id, orden), que se ejecute cada vez que meto un elemento nuevo en la tabla (mysql), o ejecuto una modificación que conlleve un cambio de orden de los registros, o elimino uno de los registros, pues que el campo "orden" se reordene en cada uno de los registros de la tabla.
El campo orden, va de 1 a el que fuese el último de los registros y siempre serían consecutivos entre todos los registros, no pudiendo ni saltarse ni repetirse.
Ejemplo, tengo 10 registros en la tabla, y quiero cambiar el que hace de orden 5 al 7; lo que significaría, que del 1 al 4 quedarían igual, el 6 pasaría a ser el 5, el 7 pasaría a ser el 6 y el antiguo 5 pasaría a ser el nuevo 7.
He intentado varías cosas, pero no lo consigo. Además también tendría que tener en cuanta cuando el cambio de orden es hacia atrás, por ejemplo del 7 al 5.
Si alguien tiene un pequeño código que resuelva mi problema se lo agradeceré eternamente.
Gracias de antemano!
Valora esta pregunta


0