Foros del Web » Programando para Internet » PHP »

problemas con envío de fechas por parametro

Estas en el tema de problemas con envío de fechas por parametro en el foro de PHP en Foros del Web. Tengo un problemita con estas fechas hago la función y me sale bien cuando ingreso los datos así: 12/11/2012 y la otro valor lo introduzco ...
  #1 (permalink)  
Antiguo 27/11/2012, 10:31
 
Fecha de Ingreso: julio-2009
Mensajes: 118
Antigüedad: 14 años, 9 meses
Puntos: 2
problemas con envío de fechas por parametro

Tengo un problemita con estas fechas hago la función y me sale bien cuando ingreso los datos así: 12/11/2012 y la otro valor lo introduzco = y la función trabaja a las mil maravillas pero cuando tomo los valores de la base de datos y transformo la fecha a este formato ya la función no me trabaja me saca este error:

Notice: A non well formed numeric value encountered in C:\wamp\www\ida\funciones\funciones.php on line 27.
y no solo uno varios asi. este es el codigo por si hay alguien que se apiade de MIIIIIIIIIII.
Código PHP:
include ("apertura_bd.php");//para conectarme a la base de datos.
$consultamysql_query("SELECT * FROM agendaradiologo",$conexion);
    while(
$datosmysql_fetch_array($consulta))
{
    
$fecha=$datos["fecha"];$HI=$datos["HI"];$HF=$datos["HF"];$MI=$datos["MI"];$MF=$datos["MF"];$Ncitas=$datos["Ncitas"];$dia=$datos["dia"];//es de recordar que la variable día no esta funcionando aunque este en la BBDD y en el  html
    
echo "fecha como esta la bb ".$fecha."<br />";
    
$fecha1explode(" ",$fecha);
    
$mes=$fecha1[3];
    
$meses =array("Enero"=>01,"Febrero"=>02,"Marzo"=>03,"Abril"=>04,"Mayo"=>05,"Junio"=>06,"Julio"=>07,"Agosto"=>08,"Septiembre"=>09,"Octubre"=>10,
    
"Noviembre"=>11,"Diciembre"=>12,"nada"=>13); 
    
$anyo=$fecha1[5];
    
$mes1=$meses["$mes"];
    
$dia=$fecha1[1];
    
$fechabd=$dia."/".$mes1."/".$anyo."<br />";
    
$fechaactualdate("d/m/Y",time())."<br />";
    echo 
$fechabd."<br />";
    echo 
$fechaactual."<br />";
    echo 
$primera "$fechabd"."<br />";// la mayor de las fechas es decir al futura
    
echo $segunda "$fechaactual"."<br />";// actual o pasada
    
echo compararFechas ($primera,$segunda);
}
function 
compararFechas($primera$segunda)
 {
  
$valoresPrimera explode ("/"$primera);   
  
$valoresSegunda explode ("/"$segunda); 

  
$diaPrimera    $valoresPrimera[0];  
  
$mesPrimera  $valoresPrimera[1];  
  
$anyoPrimera   $valoresPrimera[2]; 

  
$diaSegunda   $valoresSegunda[0];  
  
$mesSegunda $valoresSegunda[1];  
  
$anyoSegunda  $valoresSegunda[2];

  
$diasPrimeraJuliano gregoriantojd($mesPrimera$diaPrimera$anyoPrimera);  
  
$diasSegundaJuliano gregoriantojd($mesSegunda$diaSegunda$anyoSegunda);     

  if(!
checkdate($mesPrimera$diaPrimera$anyoPrimera)){
    
// "La fecha ".$primera." no es v&aacute;lida";
    
return 0;
  }elseif(!
checkdate($mesSegunda$diaSegunda$anyoSegunda)){
    
// "La fecha ".$segunda." no es v&aacute;lida";
    
return 0;
  }else{
    return  
$diasPrimeraJuliano $diasSegundaJuliano;
  } 


  #2 (permalink)  
Antiguo 27/11/2012, 12:34
 
Fecha de Ingreso: noviembre-2012
Mensajes: 36
Antigüedad: 11 años, 4 meses
Puntos: 3
Respuesta: problemas con envío de fechas por parametro

Mira a lineas 18 y 19...

echo $primera = "$fechabd"."<br />"; => $primera es la variable que desea explode() en linea 24 pero esto no es la fecha, $fechabd es la fecha.

Comproba lineas 18 y 19 como...
$primera = $fechabd;
$segunda = $fechaactual;
__________________
ComfortHost.NET Web Hosting Solutions
Shared, Reseller, VPS, and Dedicated Solutions
Blazing Fast Servers, 24/7 Live Chat & Ticket Support

Última edición por PhilComfortHost; 27/11/2012 a las 12:35 Razón: para añadir ; al final
  #3 (permalink)  
Antiguo 27/11/2012, 13:55
 
Fecha de Ingreso: julio-2009
Mensajes: 118
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: problemas con envío de fechas por parametro

Que pena contigo pero parece que no estoy a tu nivel entiendo que lo que me recomiendas está por que si $primera es la que necesita el explode la tiene en la función o lo necesita antes?
gracias por la paciencia.



Cita:
Iniciado por PhilComfortHost Ver Mensaje
Mira a lineas 18 y 19...

echo $primera = "$fechabd"."<br />"; => $primera es la variable que desea explode() en linea 24 pero esto no es la fecha, $fechabd es la fecha.

Comproba lineas 18 y 19 como...
$primera = $fechabd;
$segunda = $fechaactual;
  #4 (permalink)  
Antiguo 29/11/2012, 08:39
 
Fecha de Ingreso: noviembre-2012
Mensajes: 36
Antigüedad: 11 años, 4 meses
Puntos: 3
Respuesta: problemas con envío de fechas por parametro

Hola cesar15,

Olvida lo que yo escribí antes - no es el problema. Yo pensé que lineas 18 y 19 escribían mal pero funciona bien, y ahora he aprendido esto!

Analizando el código en reves, y lo comproba, creo que el problema está en el array...

Linea 9. $meses =array("Enero"=>01,"Febrero"=>02, etc... );

Creo que "Enero"=>01 debería ser "Enero"=>1, y que "Febrero"=>02 debería ser "Febrero"=>2, etc...

Es el "0" que causa el problema.
__________________
ComfortHost.NET Web Hosting Solutions
Shared, Reseller, VPS, and Dedicated Solutions
Blazing Fast Servers, 24/7 Live Chat & Ticket Support

Etiquetas: html, mysql, parametro, variables
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 09:41.