Foros del Web » Programando para Internet » PHP »

Problema con fechas...

Estas en el tema de Problema con fechas... en el foro de PHP en Foros del Web. Hola lo que tro de hacer es compara la fecha actual con la fecha de un campo, bueno traigo la consulta la convierto en un ...
  #1 (permalink)  
Antiguo 20/05/2009, 17:53
Avatar de nacamoj  
Fecha de Ingreso: marzo-2009
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Problema con fechas...

Hola lo que tro de hacer es compara la fecha actual con la fecha de un campo, bueno traigo la consulta la convierto en un arreglo o y hago la comparacion pero no me funciona no arroja nada, no se que tengo mal, agradezco me puedan colaborar.
así está, pregunto en este foro porque creo que el problema es tal vez del recorrido de los campos,

<?php
/*************VALIDACION DE FECHA LIMITE A CANCELAR APORTES*********************/
$conexion=mysql_connect("localhost","root","root") or die ("no se puedo hacer la conexion");
mysql_select_db("caninos",$conexion);

$fech="SELECT
entrenamiento.fecha_fin,
entrenamiento.id_entrenamiento,
cliente.cedula,
cliente.nombre,
cliente.apellido,
cliente.telefono_f,
cachorro.nombre
FROM
entrenamiento
Left Outer Join cliente ON cliente.id_cliente = entrenamiento.cod_cliente
Left Outer Join cachorro ON entrenamiento.cod_cachorro = cachorro.id_cachorro
WHERE
entrenamiento.id_entrenamiento = entrenamiento.id_entrenamiento";



//echo $fech;


$fecha1=mysql_query($fech,$conexion);
$filas=mysql_num_rows($fecha1);
$colum=mysql_num_fields($fecha1);


for ($i=0;$i<$filas;$i++)

{
echo '<TR>';

for ($j=0;$j<$colum;$j++)
{

$datico=mysql_result($fecha1,$i,$j);

$contraton=mysql_result($fecha1,$i,0);




}



$fecha = date("Y/m/d"); //formato solo fecha
if($fecha < $contraton)
{

echo 'prueba';
}


}




/************************FIN VALIDACION FECHA IMITE**********************/
?>


gracias...
  #2 (permalink)  
Antiguo 20/05/2009, 18:56
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con fechas...

Código php:
Ver original
  1. $fecha = date("Y/m/d"); //formato solo fecha
  2. if($fecha < $contraton)
  3. {
  4.  
  5. echo 'prueba';
  6. }

No puedes simplemente comparar 2 fechas asi por asi. Tienes que convertirlas a su UNIX Timestamp, que no es mas que la cantidad de segundos desde el 1ero de Enero del 1970.
En PHP, puedes usar strtotime() o mktime()

if(strtotime($fecha1) < strtotime($contraton))
  #3 (permalink)  
Antiguo 20/05/2009, 19:02
Avatar de nacamoj  
Fecha de Ingreso: marzo-2009
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con fechas...

Agradezco que me respondas, mira lo arregle con me has sugerido y me sale el siguiente error,


Warning: strtotime() expects parameter 1 to be string, resource given in C:\AppServ\www\SIACH1\inicio1.php on line 75
prueba
  #4 (permalink)  
Antiguo 20/05/2009, 19:15
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con fechas...

Te dice que strtotime() espera que el parametro dado sea una cadena.
Imprime los valores de $fecha y de $contraton antes de entrar al bucle. ¿Que imprime?
  #5 (permalink)  
Antiguo 20/05/2009, 19:25
Avatar de nacamoj  
Fecha de Ingreso: marzo-2009
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con fechas...

Bueno lo probe por fuera de los for así:

echo 'fecha:'.$fecha;
echo'<br>';
echo 'fecha_fin:'.$contraton;

$fecha = date("Y/m/d"); //formato solo fecha
//echo $fecha;
if(strtotime($fecha1) < strtotime($contraton))
{

echo 'prueba';
}


los imprimi luego del sierre de los for y antes del if y me imprime:


fecha:
fecha_fin:2009-05-16

supongo que no imrpime $fecha porque aun no está declarada..
  #6 (permalink)  
Antiguo 21/05/2009, 11:32
Avatar de nacamoj  
Fecha de Ingreso: marzo-2009
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con fechas...

tambie le he cambiado a $ fecha el formato asi date(Y-m-a) pero igual me sigue saliendo el mismo error, agradezco su atencionnnn...............
  #7 (permalink)  
Antiguo 21/05/2009, 12:08
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con fechas...

Código php:
Ver original
  1. $fecha = date("Y/m/d"); //formato solo fecha
  2. //echo $fecha;
  3. if(strtotime($fecha1) < strtotime($contraton))

Declaras $fecha, pero comparas con $fecha1 (Fijate en el 1 al final).
-_- Copiar y pegar es malo para la salud.
  #8 (permalink)  
Antiguo 21/05/2009, 12:42
Avatar de nacamoj  
Fecha de Ingreso: marzo-2009
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con fechas...

jajajaj si tienes razon, bueno he corregido y ya deberia imprmir el echo pero igual quedo como al inicio no imprime nada, teniendo en cuenta que ya modifiqué el debido registro de la base de datos y nop nadita nadita...................
  #9 (permalink)  
Antiguo 21/05/2009, 12:48
 
Fecha de Ingreso: diciembre-2007
Mensajes: 131
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: Problema con fechas...

Reemplaza:
$fecha = date("Y/m/d"); //formato solo fecha


por:
$fecha = date("Y/m/d", time()); //formato solo fecha
  #10 (permalink)  
Antiguo 02/06/2009, 10:34
Avatar de nacamoj  
Fecha de Ingreso: marzo-2009
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con fechas...

jejej Sip funcionó gracias muchisimas gracias,


Oye una preguntilla, podrias decirme porque? que hace time()
  #11 (permalink)  
Antiguo 02/06/2009, 10:36
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Problema con fechas...

hora:minutos:segundos
__________________
Quitenme la vida pero no la bebida.
  #12 (permalink)  
Antiguo 02/06/2009, 12:08
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con fechas...

Cita:
Iniciado por nacamoj Ver Mensaje
jejej Sip funcionó gracias muchisimas gracias,


Oye una preguntilla, podrias decirme porque? que hace time()
Te da el timestamp actual.

Un UNIX Timestamp es la cantidad de segundos desde el 1ero de Enero de 1970 hasta X fecha, en este caso, la actual.
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 16:12.