Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2010, 08:12
kadas99
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 14 años, 9 meses
Puntos: 4
Comparar fechas desde campo text -.-

Buenos dias! como les va?

tengo un problema, en la base de datos la fecha y hora estan guardadas en un campo TEXT de la siguiente forma (29/08/2010 11:00) la cual tiene como id=1 entonces lo que quiero hacer es comprarla con la fecha de la id=3 (29/08/2010 13:00) (Noten que cambia la hora solamente), al ser las fechas del mismo dia debo verificar la diferencia de horarios entre ellas (11:00 - 13:00) para ejecutar una accion si la diferencia horaria es de mas de 1 hora.

Lo que debo hacer es:
  • Buscar el ultimo email enviado con el asunto "x".
  • Buscar la fecha de ese email.
  • Buscar el ultimo email enviado en total (Lo cual seria realmente el ultimo email [con cualquier asunto])
  • Buscar la fecha de ese email.
  • Comparar las dos fechas.
  • Si son iguales paso a comprar la hora.
  • Si la hora es igual o menor a 1 hora, tengo que contar cuantos emails hay entre el del asunto "x" y el de cualquier asunto, restarle eso a un contador=180 y enviar esa cantidad de emails (Esto lo tengo armado lo de los emails, no lo puse en el codigo porque no llegue a esa parte, nada mas)
  • Si la hora es mayor a 1 hora, enviar 180 emails.

Lo que pude hacer hasta ahora es hasta el punto 5, pero he aqui el error! me compara (porque yo asi lo pense [mal por lo que veo]) las horas por separado entonces no me muestra realmente cual es mayor o menor en su conjunto!

les muestro el codigo!

Código PHP:
<?php



//Busco el ultimo email que envie del smtp
$sql="SELECT MAX(clave) FROM `email` WHERE asunto='x' ORDER BY clave DESC";
$res=mysql_query($sql) or die (mysql_error());
$ultimo=mysql_fetch_array($res);

echo 
"Ultimo email clave: ".$ultimo['0']."<br />";
$last=$ultimo['0'];

//Busco la fecha en que envie ese ultimo email de smtp
$sql2="SELECT fecha FROM `email` WHERE clave=$last";
$res2=mysql_query($sql2) or die(mysql_error());
$ultimo2=mysql_fetch_array($res2);

echo
"Ultimo email fecha: "$ultimo2['fecha']."<br/>";
$fecha1=$ultimo2['fecha'];

//Busco el ultimo email enviado de cualquier tipo
$sql3="SELECT MAX(clave) FROM `email` ORDER BY clave DESC";
$res3=mysql_query($sql3) or die (mysql_query());
$ultimo3=mysql_fetch_array($res3);

echo 
"Ultimo email clave: ".$ultimo3['0']."<br />";
$last2=$ultimo3['0'];


//Busco la fecha del ultimo email enviado de cualquier tipo
$sql4="SELECT fecha FROM `email` WHERE clave=$last2";
$res4=mysql_query($sql4) or die(mysql_error());
$ultimo4=mysql_fetch_array($res4);

echo
"Ultimo email fecha: "$ultimo4['fecha']."<br/>";
$fecha2=$ultimo4['fecha'];

explode("/",$fecha1);
echo 
"Fecha1 despues del explode ".$fecha1['0']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['1']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['2']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['3']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['4']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['5']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['6']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['7']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['8']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['9']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['10']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['11']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['12']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['13']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['14']." <br/>";
echo 
"Fecha1 despues del explode ".$fecha1['15']." <br/>";

$dia1=$fecha1['0'].$fecha1['1'];
$mes1=$fecha1['3'].$fecha1['4'];
$anio1=$fecha1['6'].$fecha1['7'].$fecha1['8'].$fecha1['9'];
$hora1=$fecha1['11'].$fecha1['12'];
$minutos1=$fecha1['14'].$fecha1['15'];

echo 
$dia1." ".$mes1." ".$anio1." ".$hora1." ".$minutos1."<br/>";


explode("/",$fecha2);
echo 
"Fecha2 despues del explode ".$fecha2['0']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['1']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['2']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['3']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['4']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['5']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['6']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['7']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['8']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['9']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['10']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['11']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['12']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['13']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['14']." <br/>";
echo 
"Fecha2 despues del explode ".$fecha2['15']." <br/>";

$dia2=$fecha2['0'].$fecha2['1'];
$mes2=$fecha2['3'].$fecha2['4'];
$anio2=$fecha2['6'].$fecha2['7'].$fecha2['8'].$fecha2['9'];
$hora2=$fecha2['11'].$fecha2['12'];
$minutos2=$fecha2['14'].$fecha2['15'];

echo 
$dia2." ".$mes2." ".$anio2." ".$hora2." ".$minutos2."<br/>";

if(
$mes1 >= $mes2){
echo 
$mes1." 1es mayor que ".$mes2."<br/> ";
if(
$dia1 >= $dia2){
echo 
$mes1." ".$dia1." es mayor que ".$mes2." ".$dia2."<br/> ";
}else{
echo 
$mes2." ".$dia2." es mayor que ".$mes1." ".$dia1."<br/> ";
}
}else{
echo 
$mes2." 2es mayor que ".$mes1."<br/> ";

}

?>
La verdad me trabe en este punto! alguien tiene alguna idea de como puedo resolver este problema!?

Un abrazo!