Foros del Web » Programando para Internet » PHP »

Mostrar solo vencimientos a cinco dias

Estas en el tema de Mostrar solo vencimientos a cinco dias en el foro de PHP en Foros del Web. Estoy creando un script que me permita saber que vehiculos tienen documentos para vencerse en 5 dias, necesito que solo me muestre los que cumplan ...
  #1 (permalink)  
Antiguo 09/09/2016, 22:13
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Mostrar solo vencimientos a cinco dias

Estoy creando un script que me permita saber que vehiculos tienen documentos para vencerse en 5 dias, necesito que solo me muestre los que cumplan con la condicion de estar a 5 dias para vencerse, para eso estoy haciendo:

Código PHP:
Ver original
  1. //Consultamos los documentos proximos a vencer
  2.   //Paso 1. Definimos la fecha de hoy
  3.   $a = date("Y");
  4.   $m = date("m");
  5.   $d = date("d");
  6. $fecha = date("Y-m-d");
  7.  
  8. //echo $fecha;
  9.  
  10.   $fecha_actual = mktime(0,0,0,$m,$d,$a);
  11.  
  12. //echo "<br>".$fecha_actual."";
  13.   //inicializamos la tabla para presentar los datos
  14.  
  15.   echo "<table class='table table-bordered'>
  16.        <tr><th colspan ='3'><h1 class='alert alert-danger'>Móviles con Documentos Próximos a Vencer</h1></th></tr>
  17.        <tr><td colspan ='3'><br /></td></tr>
  18.        <tr><th colspan ='3'><h2 class='alert alert-success'>Se vencen en 5 dias</h2></th></tr>
  19.        <tr><th>Movil</th><th>Documento</th><th>Vencimiento</th>";
  20.  
  21.   //paso 2. Consultamos los documentos que se vencen en 30 dias
  22.  
  23.   $cincodias = mysql_query("SELECT * FROM documentos ORDER BY codigovel") or die (mysql_error());
  24.   while ($row5 = mysql_fetch_assoc($cincodias)) {
  25.     $movil = $row5['codigovel'];
  26.     $vence_tarjeop = $row5['vence_tarjeop'];
  27.     //explotamos el resultado de la tarjeta de operacion
  28.     $toe = explode("-", $vence_tarjeop);
  29.     //lo separamos
  30.     $ato = $toe[0];
  31.     $mto = $toe[1];
  32.     $dto = $toe[2];
  33.     //lo convertimos a mktime para luego hacer la operacion
  34.     $tom = mktime(0,0,0,$mto,$dto,$ato);
  35.  
  36.     $rto = $tom - $fecha_actual;
  37.     $dias = $rto / (60 * 60 *24);
  38.     //echo $rto;
  39.    
  40.     if($dias <= '5') {
  41.       echo "<tr><td>".$movil."</td><td>Tarjeta de Operación</td><td>".$vence_tarjeop."</td></tr>";
  42.     } else {
  43.       echo "<tr><td colspan='3'>nada</td></tr>"  ;
  44.     }

Pero resulta que me muestra todos los vehiculos, yo necesito que me muestre solo los que estan por vencerse.
__________________
Say no more.......
  #2 (permalink)  
Antiguo 09/09/2016, 23:41
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Mostrar solo vencimientos a cinco dias

Creo que si de tu DB sacas la fecha de vencimiento, lo que necesitas es una diferencia entre la fecha actual y la fecha de vencimiento y este tema te puede dar una luz

http://www.forosdelweb.com/f18/difer...echas-1154608/
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #3 (permalink)  
Antiguo 10/09/2016, 10:50
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Mostrar solo vencimientos a cinco dias

Para este caso es mejor si lo hace en la consulta, con eso simplifica el código y reduce el uso de variables temporales en el código actual.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: dias, fecha, mysql, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:20.