Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/05/2012, 03:04
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: actualizar automaticamente un campo

No es necesario eso que pides y ademas es peligroso... estas intentando guardar una informacion que se puede calcular a partir de otra que ya tienes guardada.... se podria construir un proceso que haga lo que pides pero si por lo que sea un dia falla te puede quedar la bbdd en estado incoherente....

Supongo que quando dices

Cita:
...la fecha de la factura es mayor a 30 dias que el campo estado sea 'vencida' y si es menor a 30 dias estado = 'Vigente'....
te refieres a 30 dias respecto de la fecha actual.... luego

Facturas vencidas

Código MySQL:
Ver original
  1. FROM facturas
  2. WHERE DATEDIFF(CURDATE(),fecha_factura)>30

Facturas vigentes

Código MySQL:
Ver original
  1. FROM facturas
  2. WHERE DATEDIFF(CURDATE(),fecha_factura)<=30

Todas las facturas

Código MySQL:
Ver original
  1. SELECT *, IF(DATEDIFF(CURDATE(),fecha_factura)<=30,"Vigente","Vencida") as estado
  2. FROM facturas

Y el campo estado no lo necesitas para nada!!!

Ten en cuenta que CURDATE() será la fecha del servidor.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 16/05/2012 a las 03:13