Ver Mensaje Individual
  #7 (permalink)  
Antiguo 14/02/2013, 09:07
drsheldoncooper
 
Fecha de Ingreso: febrero-2013
Mensajes: 26
Antigüedad: 12 años
Puntos: 0
Respuesta: asignar numero a lista de registros

Cita:
Iniciado por jurena Ver Mensaje
si tienes que hacerlo por exigencia del guión o de quien paga y puesto que se trata de productos (no tendrás mucho movimiento de eso, pienso, y además el código es clave primaria por lo que dices, es decir, que no se repiten), yo haría lo siguiente:
crearía otra tabla llamada orden con los siguientes campos
num, codigo
num sería auto_increment y clave primaria, y codigo, el mismo campo de tu codigo de tabla principal.
Cada vez que añadas, elimines o cambies un codigo, haces mediante programación un truncate de la nueva tabla orden e insertas ordenados por fecha de caducidad (que parece ser lo que quieres, aunque si es por fecha de ingreso del producto deberías añadir a la tabla principal un campo timestamp de entrada de dato y ordenar por eso) todos los códigos de la tabla principal, verás que se numeran automáticamente, sin programación. Luego para ver el número correspondiente un inner join entre la tabla principal y esta tabla de orden te permitirá siempre mostrar el número sin tener que poner en riesgo la tabla principal. Pega, debes truncar y rellenar por completo esa tabla orden cada vez que eliminas, actualizas o insertas un producto en la tabla principal, algo que tal vez no ocurrirá muchas veces.
Si no existe un criterio para el orden, o el criterio es el momento de almacenamiento, un campo timestamp te bastaría para reordenar y hacer lo que te digo; si el orden es el de fecha de caducidad, que no creo, harías lo que te dije en primer lugar. Pero deben explicarte, como te han dicho, las razones y el criterio. Piensa que la fecha de caducidad de un producto no es del producto en sí, sino de una partida de ese producto; cuando entre una nueva partida, la fecha de caducidad será distinta... Acláranos con ejemplos estas cuestiones.

Voy a intentar resumir todo y espero y me ayuden en la parte que les digo:
supongamos que nadamas tengo codigo fecha y lo que quiero es que estos productos se ordenen por fechade caducidad ,una vez ordenados no se si se pueda asignarles un numero como se dice de bajadita(1...2...3...4...5) y guardarlo en un campo ("num" este campo si lo ocupare despues) y nada mas.Ya no se agregaran mas productos ni se modificaran es por eso que se les va asignar un numero para su facil identificacion y asi ellos etiquetan los productos con ese numero y no el codigo que es largo.no se si me explico.