Foros del Web » Programando para Internet » PHP »

comparar fechas

Estas en el tema de comparar fechas en el foro de PHP en Foros del Web. Buenas tardes a todos: Estoy enviando correos con la funcion mail y estoy almacenando en una tabla de una base de datos el correo de ...
  #1 (permalink)  
Antiguo 20/04/2009, 13:57
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
comparar fechas

Buenas tardes a todos:
Estoy enviando correos con la funcion mail y estoy almacenando en una tabla de una base de datos el correo de origen y destino y la fecha de envio para darle un plazo de respuesta de siete dias, pero no se como hacer para comparar la fecha almacenada con la fecha actual del sistema, alguien puede ayudarme porfavor, gracias.
Aqui les pongo el codigo para que vean como estoy intentando hacerlo:

//RECUPERAR DATOS EN VARIABLES PARA ALMACENARLOS
$fecha=date('Y:m:d');
$Plazo=date("Y:m:d",strtotime("+7 days"));

//CONSULTA PARA OBTENER LOS CORREOS EN LOS QUE SE VENCIO EL PLAZO
$correohoy=mysql_query("SELECT * FROM tabla_contador WHERE date_format(Plazo,'%Y:%m:%d')= date('Y:m:d')",$connect);

while ($row = mysql_fetch_array($correohoy, MYSQL_NUM)) {
echo "<tr><td>";
echo ($row[0]);
echo "</td></tr>";
echo (""); }
echo "</table>";
mysql_free_result($correohoy);
if ($row = mysql_fetch_array($correohoy)){
echo "<table border = '1'> \n";
echo "<tr>
<td>id</td>
<td>De</td>
<td>Para</td>
<td>Asunto</td>
<td>Mensaje</td>
<td>Fecha</td>
<td>Plazo</td>

</tr> \n";
do {
echo "<tr>
<td>".$row["id"]."</td>
<td>".$row["De"]."</td>
<td>".$row["Para"]."</td>
<td>".$row["Asunto"]."</td>
<td>".$row["Mensaje"]."</td>
<td>".$row["Fecha"]."</td>
<td>".$row["Plazo"]."</td>

</tr> \n";
} while ($row = mysql_fetch_array($correohoy));
echo "</table> \n";
} else {
echo "¡ No se ha encontrado ningún registro !";
}
mysql_close($connect);

?>
</p>
</body>
</html>
  #2 (permalink)  
Antiguo 20/04/2009, 14:18
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: comparar fechas

Pues podrias hacerlo de esta manera (a lo mejor hay mas facil) :

guardas el timestamp de cuando se envio el mail

y lo comparas con el timestamp actual

si la diferencia es mas grande o igual a 3600*24*7 (segundos en 7 dias) entonces el plazo se ha terminado.

a lo mejor es una tonteria..

salu2
  #3 (permalink)  
Antiguo 20/04/2009, 14:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: comparar fechas

de hecho fatasma tiene mucha razón... osea, se puede comparar la fecha a nivel de sintaxis SQL... (ignoro como)

pero este es un foro de PHP, y si... en PHP lo ideal es comparar los timestamps


Código PHP:
$a strtotime('+1 day');

echo (
$a time()); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 20/04/2009, 15:15
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: comparar fechas

puedes realizar esto:
Cita:
SELECT *,datediff('$fechaactualsistema','tabla_contador.f echaalmacenada') as plazo FROM tabla_contador WHERE date_format

if(plazo >=7)
{
mandar correo o vencio plazo
}
esle
{
lo que se ha
}
espero te sirva...
  #5 (permalink)  
Antiguo 20/04/2009, 17:56
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
Respuesta: comparar fechas

Ya lo intente de la siguiente manera, pero no tengo ningun resultado.
Alguien puede ayudarme.

correohoy = mysql_query("SELECT * ,datediff('$actual','tabla_contador.Plazo') as contador FROM tabla_contador WHERE date_format(Plazo,'%Y:%m:%d')= $actual)",$connect);
if(contador >=7)
{
echo "Enviar correo";
}
else
{
echo "Error";
}
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 14:10.