Ver Mensaje Individual
  #2  
Antiguo 21-07-2008
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Reputación: 21
celades1 Va por buen camino
Hola


primero suponemos que tienes un campo ID primary key luego añadele un campo que sea el orden crea un indice unique key para que no repita valores y vaya rapido al ordenar.
Al insertar comprueba donde estas insertando y si insertas en la posicion 50
antes deberas hacer update orden=orden+1 de todos los registros con orden>=50.
si quieres al hacer delete del registro 50 puedes hacer update orden=orden-1 de todos los registros con orden>=50.
Tambien si cambias de lugar el registro debes hacer los updates correspondientes.
Todo esto lo puedes montar con codigo delpho o bien con los triggers de la BD before_insert,before_update,after_delete.

Yo lo utilizo para ordenar las linias de un albaran tal como las meta el usuario
entonces la tabla linias_albaran tiene el UK que es Cabecera_albaran_id+orden; con un Id como PK

Otra solucion que yo utilize pero que no me gusta es que el campo orden sea double precision y asignarle siempres el valor medio entre su anterior y posterior registro.


Espero haberte podido ayudar
Responder Con Cita