Foros del Web » Programando para Internet » PHP »

alerta de colores con fechas

Estas en el tema de alerta de colores con fechas en el foro de PHP en Foros del Web. Hola nuevamente a todos veran ahora estoy realizando una validación de fechas Código PHP: $fechaHoy        = new  DateTime ();                  $fechaDosDias    = new  DateTime ();                  $fechaDosDias ...
  #1 (permalink)  
Antiguo 07/04/2015, 12:17
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
alerta de colores con fechas

Hola nuevamente a todos veran ahora estoy realizando una validación de fechas
Código PHP:
$fechaHoy       = new DateTime();
                
$fechaDosDias   = new DateTime();
                
$fechaDosDias->add(new DateInterval('P2D'));
                
$fechamenosdias $fechaDosDias->date_diff($fechaDosDias);
                
$fechas =   array(
                
'hoy'   =>  array(
                
'fecha' =>  $fechaHoy->format('Y-m-d'),
                
'color' =>  'rojo'),
                
'pasadomanana'  =>  array(
                
'fecha' =>  $fechamenosdias->format('Y-m-d'),
                
'color' =>  'naranja')
);
$fechalerta     =   $mostrar_seg['seg_fecha_proximo_contac'];
$colorEtiqueta  =   'no-color';

if(
$fechalerta == $fechas['hoy']['fecha']){
    
$colorEtiqueta $fechas['hoy']['color'];
}elseif (
$fechalerta == $fechas['pasadomanana']['fecha']) {
    
$colorEtiqueta $fechas['pasadomanana']['color']; 
lo que debe de hacer este script si es la fecha del dia de hoy ponerlo en rojo cosa que si lo realiza pero si faltase dos dias para llegar al dia de hoy ponerse en naranja cosa que no hace
  #2 (permalink)  
Antiguo 07/04/2015, 14:05
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: alerta de colores con fechas

Y contra que estas comparando para determinar si falta dos días para el dia en el cual tiene que aparecer la fecha en rojo ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 07/04/2015, 14:17
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Respuesta: alerta de colores con fechas

para el caso del rojo si ve que la fecha es hoy lo pone en rojo como podras ver lo traigo de la BD esa info pero para el naranja debería restarle -2 dias no se si me explique bien
  #4 (permalink)  
Antiguo 07/04/2015, 14:34
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: alerta de colores con fechas

Precisamente siempre va imprimir en rojo por que no estas comparando con el dato que tienes en tu db.
Cita:
como podras ver lo traigo de la BD esa info
Creo que imaginaste esa parte, por que en tu fragmento de código no viene y de ser así especifica cual es en tu redacción, no vamos a estar adivinando.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 07/04/2015, 14:43
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: alerta de colores con fechas

Creo que lo enfocas un poco mal. Pregunto, si es hoy lo pone en rojo, pero si faltan 2 días es naranja, genial, pero, que pasa cuando faltan 1 día, o 3 días, o ya pasaron los días?

Con el dateDiff deberías saber cuantos días faltan, y de acuerdo a ese dato entero tomar las deciciones, lo estas haciendo más abstracto de lo que es realmente...

por ejemplo

Código PHP:
<?php
//obtener fecha actual para compararlo con el ultimo intento
$fecha getdate();
//saco las fechas de la base de datos, ojo que los saco con minutos y segundos
$today=($fecha["year"]."-".$fecha["mon"]."-".$fecha["mday"]." ".$fecha["hours"].":".$fecha["minutes"].":".$fecha["seconds"]);
//genero una resta de la fecha actual contra el ultimo intento guardado en la BD        
$datetime1 = new DateTime($today);
// la fecha con la que me interesa
$datetime2 = new DateTime($fila_usuario['ultimointento']);
$intervalo $datetime1->diff($datetime2);
                             
//primero comparamos si y han pasado mas de 24hs, o sea, 1 día desde el ultimo intento fallido
    
if($intervalo->format('%a')>1){
        
//pasa algo
        
}else{
        
//pasa otra cosa
        
}
?>
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #6 (permalink)  
Antiguo 07/04/2015, 15:06
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Respuesta: alerta de colores con fechas

tienes razon fue lo que justamente estuve pensando muy buena tu respuesta y el codigo que deja donde pones pasa algo seria donde se pondría en rojo y el otro en naranja
  #7 (permalink)  
Antiguo 07/04/2015, 15:17
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: alerta de colores con fechas

Como comentario al margen esta parte del código no es necesaria
Código PHP:
Ver original
  1. //obtener fecha actual para compararlo con el ultimo intento
  2. $fecha = getdate();
  3. //saco las fechas de la base de datos, ojo que los saco con minutos y segundos
  4. $today=($fecha["year"]."-".$fecha["mon"]."-".$fecha["mday"]." ".$fecha["hours"].":".$fecha["minutes"].":".$fecha["seconds"]);
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: alerta, colores, fecha
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 08:14.