Ver Mensaje Individual
  #7 (permalink)  
Antiguo 31/12/2010, 06:34
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Como hago un campo que se vaya reduciendo cada dia

Si tienes una cantidad fija de días por cada producto, y una fecha de ingreso, no necesitas un campo sino una consulta que te devuelva si se ha vencido.
La solución de tu problema varía con la forma en que se diseñe la estructura de datos. Por ejemplo:

- Si además de contar con una tabla Producto, tienes una donde almacenas las compras o partidas de producto recibidas, en esa tabla se puede agregar dos campos: la fecha de entrada y la fecha de vencimiento. La consulta simplemente te debe devolver sin la fecha de vencimiento es inferior a la actual (fechaVencimiento <= CURDATE()) en la partida consultada.

- Si cada producto tiene una cantidad de días de vigencia, simplemente necesitas el campo de fecha de ingreso, la cantidad de días y la fecha actual (TIMESTAMPDIFF(DAY, CURDATE(), fechaentrada) <= diasvencimiento)

En definitiva, no necesitas un campo que se modifique, sino establecer de dónde se sacan los datos para obtener la diferencia. Este tipo de métodos son dinámicos y no necesitan de actualizaciones porque simplemente te devuelven lo que hay con la información actualizada.
Poner un campo que hay que hacer que se actualice constantemente (no es funcional hacerlo cada día, hay que hacerlo en cada consulta) implica programar procesos que ocupan recursos innecesariamente, y que se pueden suplantar por otros más dinámicos que no requieren mantenimiento.
Simplemente hay que analizar el modelo que usas para ver cómo conviene hacerlo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)