Hola estoy haciendo un proyectito y tengo una duda.
Estoy intentando hacer un cron que recorra la base y verifique que los registros que emitidos a una cierta fecha, al pasar 4 dias, cambien el estado.
E pensado en hacer que cada dia se ejecute una condicion que al llegar a 4, deje de hacerlo y que otra condicion que a todos los que tengan 4, dias le cambie el estado, se me complica aqui porque hay varios, registros con diferentes fechas, otro que pense es usar esto,
Código PHP:
Ver original// Estable condicion Si el valor es menor nos muestra que no se ejecuta.
<?
if ($int_nodias<="4") {
aqui deberia hacer la consulta que incremente dias intimaciones en 1 hasta llegar a cuatro, pero incremente solo los que no han alcansado ese valor, cuando llegue a 4 ya no deberia cambiar.
echo "Los dias no alcanzan."; //puse esto para probar....
}
// Si el valor es diferente ejecuta la condicion.
else {
$sql = "SELECT id FROM infraccion WHERE intimaciones='4'";
// creamos la lista de los IDs a comparar
// los usamos finalmente con el operador IN()
$sql = "UPDATE infraccion SET estado = '2-Intimacion' WHERE id IN(" . join(', ', $ids) . ")";
echo "RegistrosActualizados.";
}
?>
por otro lado me dijeron que tambien puedo hacer la condicion directamente en el mysql,
Código PHP:
Ver original//·······obtiene diferencias entre fechas desde el mysql
//SELECT DATEDIFF(fecharesolucion, fechainfraccion) AS diferencia FROM infraccion
//SELECT to_days(entrega) - to_days(fecha) as diferencia
//FROM trabajos
//WHERE peticion =375
//TO_DAYS(fecha) devuelve la cantidad de días que transcurrieron desde una fecha (creo que desde el 1970-01-01)
//___________
el problema de eso qu eno se como usarla, la fecha actual la tomaria de la variable $fecha que devuelve la fecha actual.
o la ultima que me dijeron es que puedo usar los condicionales IF en mysql que seria muy bueno x que con una sola consulta resuelvo tdo y ahorro codigo.
Quisiera algun concejo x ahi, para guiarme mejor. para resolver este problema