Tengo una tabla en MySQL donde tengo información de clientes donde se maneja documentación que deben pasar de un departamento a otro cada cierto tiempo. por ejemplo del departamento 1 tiene que pasar al departamento 2 dentro de 15 días y al departamento 3 después de 21 dias, en total son 8 departamentos:
La idea es que cuando falte 3 dias para llegar a la fecha en la que debe pasar al siguiente departamento me notifique via correo, la notificación por correo ya la tengo configurada con fakesendmail y mercury en xampp y funciona perfectamente enviandome las notificaciones cuando falta 3 2 1dias para el la fecha de vencimiento incluso tengo un codigo para cuando haya pasado la fecha vencida en me envia notificaciones hasta 3 dis despues de la fecha vencida el problema es que si tengo 2 clientes con fechas de vencimiento diferente en el departamento 1. me funciona el código con la info del primer cliente en la tabla, pero cuando quiero calcular la fecha de vencimiento del segundo cliente ya no me envía la notificación. les muestro mi código:
Mi tabla es la siguiente:
id | cliente |departamento 1
1 Carlos 18/02/2018
2 Juan 24/02/2018
Este es el código de notificaciones para el departamento 1. notificacion.php
Código PHP :
<?php include("includes/header.php"); ?> <?php function Conectarse() { if (!($link=mysql_connect("localhost","IntranetApolo","5934Apolo!!"))) { echo "Error conectando a la base de datos."; exit(); } if (!mysql_select_db("IntranetApolo",$link)) { echo "Error seleccionando la base de datos."; exit(); } return $link; } ?> <?php $link = Conectarse(); //FECHAS POR VENCER JURIDICO PE $result = mysql_query("SELECT compania, tramite, ndt, abogado, datediff(juridicope,curdate()) as diferencia, date_format(juridicope,'%d/%m/%Y')fechaJP FROM acuatbl", $link); $cadena = ''; while($resul = mysql_fetch_assoc($result)){ $compania=$resul['compania']; $tramite=$resul['tramite']; $ndt=$resul['ndt']; $abogado=$resul['abogado']; $juridicope=$resul['fechaJP']; $juridicope_dif=$resul['diferencia']; if($juridicope_dif==3) $cadena.="<tr> <td style='text-align:center;'>$compania</td> <td style='text-align:center;'>$tramite</td> <td style='text-align:center;'>$ndt</td> <td style='text-align:center;'>$abogado</td> <td style='text-align:center;'>$juridicope</td> </tr>"; if($juridicope_dif==2) $cadena.="<tr> <td style='text-align:center;'>$compania</td> <td style='text-align:center;'>$tramite</td> <td style='text-align:center;'>$ndt</td> <td style='text-align:center;'>$abogado</td> <td style='text-align:center;'>$juridicope</td> </tr>"; if($juridicope_dif==1) $cadena.="<tr> <td style='text-align:center;'>$compania</td> <td style='text-align:center;'>$tramite</td> <td style='text-align:center;'>$ndt</td> <td style='text-align:center;'>$abogado</td> <td style='text-align:center;'>$juridicope</td> </tr>"; if($juridicope_dif==0) $cadena.="<tr> <td style='text-align:center;'>$compania</td> <td style='text-align:center;'>$tramite</td> <td style='text-align:center;'>$ndt</td> <td style='text-align:center;'>$abogado</td> <td style='text-align:center;'>$juridicope</td> </tr>"; echo $juridicope_dif; } ///echo $cadena; $result3 = mysql_query("SELECT datediff(juridicope,now()) as diferencia3 FROM acuatbl", $link); $resul3 = mysql_fetch_assoc($result3); $juridicope_dif3=$resul3['diferencia3']; if($juridicope_dif3==3){ $to = "[email protected]" . ", "; $to .= "[email protected]"; $subject = "Cuadro Camaronera - Fechas por vencer"; $headers = "From: [email protected]" . "\r\n"; $headers .= "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; $message = " <html> <body> <h3>Trámites por vencer | Dpto. Jurídico</h3> <p>Días restantes: 3</p> </body> <table border='1' style='font-size:12px; overflow:scroll;'> <tr> <th style='padding:3px 35px 3px 35px; background-color:#f8f8ff;'>Cliente</th> <th style='padding:3px 19px 3px 19px; background-color:#f8f8ff;'>Trámite</th> <th style='padding:3px 11px 3px 11px; background-color:#f8f8ff;'>NO.</th> <th style='padding:3px 8px 3px 8px; background-color:#f8f8ff;'>Abogado</th> <th style='padding:3px 8px 3px 8px; background-color:#f8f8ff;'>Jurídico E1</th> </tr> $cadena </table> </html>"; mail($to, $subject, $message, $headers); }else{ echo "3"; }; $result2 = mysql_query("SELECT datediff(juridicope,now()) as diferencia2 FROM acuatbl", $link); $resul2 = mysql_fetch_assoc($result2); $juridicope_dif2=$resul2['diferencia2']; if($juridicope_dif2==2){ $to = "[email protected]" . ", "; $to .= "[email protected]"; $subject = "Cuadro Camaronera - Fechas por vencer"; $headers = "From: [email protected]" . "\r\n"; $headers .= "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; $message = " <html> <body> <h3>Trámites por vencer | Dpto. Jurídico</h3> <p>Días restantes: 2</p> </body> <table border='1' style='font-size:12px; overflow:scroll;'> <tr> <th style='padding:3px 35px 3px 35px; background-color:#f8f8ff;'>Cliente</th> <th style='padding:3px 19px 3px 19px; background-color:#f8f8ff;'>Trámite</th> <th style='padding:3px 11px 3px 11px; background-color:#f8f8ff;'>NO.</th> <th style='padding:3px 8px 3px 8px; background-color:#f8f8ff;'>Abogado</th> <th style='padding:3px 8px 3px 8px; background-color:#f8f8ff;'>Jurídico E1</th> </tr> $cadena </table> </html>"; mail($to, $subject, $message, $headers); }else{ echo "2"; }; $result1 = mysql_query("SELECT datediff(juridicope,now()) as diferencia1 FROM acuatbl", $link); $resul1 = mysql_fetch_assoc($result1); $juridicope_dif1=$resul1['diferencia1']; if($juridicope_dif1==1){ $to = "[email protected]" . ", "; $to .= "[email protected]"; $subject = "Cuadro Camaronera - Fechas por vencer"; $headers = "From: [email protected]" . "\r\n"; $headers .= "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; $message = " <html> <body> <h3>Trámites por vencer | Dpto. Jurídico</h3> <p>Días restantes: 1</p> </body> <table border='1' style='font-size:12px; overflow:scroll;'> <tr> <th style='padding:3px 35px 3px 35px; background-color:#f8f8ff;'>Cliente</th> <th style='padding:3px 19px 3px 19px; background-color:#f8f8ff;'>Trámite</th> <th style='padding:3px 11px 3px 11px; background-color:#f8f8ff;'>NO.</th> <th style='padding:3px 8px 3px 8px; background-color:#f8f8ff;'>Abogado</th> <th style='padding:3px 8px 3px 8px; background-color:#f8f8ff;'>Jurídico E1</th> </tr> $cadena </table> </html>"; mail($to, $subject, $message, $headers); }else{ echo "1"; }; $result0 = mysql_query("SELECT datediff(juridicope,now()) as diferencia0 FROM acuatbl", $link); $resul0 = mysql_fetch_assoc($result0); $juridicope_dif0=$resul0['diferencia0']; if($juridicope_dif0==0){ $to = "[email protected]" . ", "; $to .= "[email protected]"; $subject = "Cuadro Camaronera - Fechas cumplidas"; $headers = "From: [email protected]" . "\r\n"; $headers .= "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; $message = " <html> <body> <h3>Trámites por antender el día de hoy | Dpto. Jurídico</h3> </body> <table border='1' style='font-size:12px; overflow:scroll;'> <tr> <th style='padding:3px 35px 3px 35px; background-color:#f8f8ff;'>Cliente</th> <th style='padding:3px 19px 3px 19px; background-color:#f8f8ff;'>Trámite</th> <th style='padding:3px 11px 3px 11px; background-color:#f8f8ff;'>NO.</th> <th style='padding:3px 8px 3px 8px; background-color:#f8f8ff;'>Abogado</th> <th style='padding:3px 8px 3px 8px; background-color:#f8f8ff;'>Jurídico E1</th> </tr> $cadena </table> </html>"; mail($to, $subject, $message, $headers); }else{ echo "0"; }; ?>
código que me notifica hasta 3 días después de la fecha de vencimiento. notificacion_vc.php
Código PHP :
<?php include("includes/header.php"); ?> <?php function Conectarse() { if (!($link=mysql_connect("localhost","IntranetApolo","5934Apolo!!"))) { echo "Error conectando a la base de datos."; exit(); } if (!mysql_select_db("IntranetApolo",$link)) { echo "Error seleccionando la base de datos."; exit(); } return $link; } ?> <?php $link = Conectarse(); //FECHAS POR VENCER JURIDICO PE $result = mysql_query("SELECT compania, tramite, ndt, abogado, datediff(juridicope,curdate()) as diferencia, date_format(juridicope,'%d/%m/%Y')fechaJP FROM acuatbl", $link); $cadena = ''; $cadenab = ''; while($resul = mysql_fetch_assoc($result)){ $compania=$resul['compania']; $tramite=$resul['tramite']; $ndt=$resul['ndt']; $abogado=$resul['abogado']; $juridicope=$resul['fechaJP']; $juridicope_dif=$resul['diferencia']; if($juridicope_dif<0) $cadenab.="<tr> <td style='text-align:center;'>$compania</td> <td style='text-align:center;'>$tramite</td> <td style='text-align:center;'>$ndt</td> <td style='text-align:center;'>$abogado</td> <td style='text-align:center;'>$juridicope</td> </tr>"; ///echo $juridicope_dif; } //FECHAS VENCIDAS JURIDICO PE $resulta = mysql_query("SELECT datediff(juridicope,now()) as diferencia_vc FROM acuatbl", $link); $resula = mysql_fetch_assoc($resulta); $juridicope_dife=$resula['diferencia_vc']; if($juridicope_dife >= -3 and $juridicope_dife < 0){ $to = "[email protected]" . ", "; $to .= "[email protected]"; $subject = "Cuadro Camaronera - Fechas vencidas"; $headers = "From: [email protected]" . "\r\n"; $headers .= "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; $message = " <html> <body> <h3>Trámites vencidos sin atender | Dpto. Jurídico</h3> </body> <table border='1' style='font-size:12px; overflow:scroll;'> <tr> <th style='padding:3px 35px 3px 35px; background-color:#f8f8ff;'>Cliente</th> <th style='padding:3px 19px 3px 19px; background-color:#f8f8ff;'>Trámite</th> <th style='padding:3px 11px 3px 11px; background-color:#f8f8ff;'>NO.</th> <th style='padding:3px 8px 3px 8px; background-color:#f8f8ff;'>Abogado</th> <th style='padding:3px 8px 3px 8px; background-color:#f8f8ff;'>Jurídico E1</th> </tr> $cadenab </table> </html>"; mail($to, $subject, $message, $headers); }else{ echo "VC"; }; ///echo $cadenab; ?>
Ahora por ejemplo si hoy es 15/02/2018 al ejecutar el código notificacion.php me envía la notificación por correo informándome que falta 3 días para vencer la fecha que corresponde 18/02/2018 del cliente Carlos y por ejemplo si es 19/02/2018 al ejecutar el código notificacion_vc.php me informa que la fecha esta vencida y me lo informa por los siguientes tres días--- Pero por ejemplo si es 21/02/2018 y ejecuto el código notificacion.php ya no me envía la notificación por correo de que falta 3 días para que venza la fecha que corresponde al 24/02/2018 del cliente Juan.
Llevo cuatro días sin saber que puede ser, su ayuda por favor. muchas gracias.