Foros del Web » Programando para Internet » PHP »

Trabajo con fechas en PHP

Estas en el tema de Trabajo con fechas en PHP en el foro de PHP en Foros del Web. Hola amigos: Necesito hacer un script que se ejecute automaticamente cada 5 días para eliminar información de una tabla específica de mi base de datos. ...
  #1 (permalink)  
Antiguo 04/05/2005, 15:39
Avatar de pablod  
Fecha de Ingreso: abril-2004
Ubicación: Santiago
Mensajes: 118
Antigüedad: 13 años, 7 meses
Puntos: 0
Trabajo con fechas en PHP

Hola amigos:

Necesito hacer un script que se ejecute automaticamente cada 5 días para eliminar información de una tabla específica de mi base de datos.
La idea es que el script obtenga la fecha actual, luego se debe restar 5 días a la fecha. Despues en la query elimino todos los registros que esten entre esas fechas.

Mi problema es el trabajo con las fechas, necesito tener sugerencias de cual es la forma mas óptima para trabajar esto (es decir para restar días a una fecha).

Espero alguien me pueda ayudar.

Un saludo P4Bl0
__________________
Pablod:-)
  #2 (permalink)  
Antiguo 04/05/2005, 15:51
Avatar de Delek  
Fecha de Ingreso: marzo-2005
Ubicación: Madrid
Mensajes: 75
Antigüedad: 12 años, 8 meses
Puntos: 0
Puedes usar la función "mktime" esto te devuelve el tiempo transcurrido desde el 1/1/70 a partir de los datos que le asignes.
Asignalo a dos variables, y restale a una 5 dias.

Más info:

http://es.php.net/mktime

Delek
  #3 (permalink)  
Antiguo 04/05/2005, 16:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No indicas que BD usas (Mysql?) .. pero el caso es que si tu registras las fechas en formato DATE o DATETIME (como tipo de campo para esa fecha) .. puedes optar a usar todo el montón de funciones de SQL que dispones para tal fin ..

Y así hacer una sentencia SQL condicinal tipo:

Código PHP:
DELETE FROM tabla WHERE DATE_SUB(CURDATE(),INTERVAL 5 DAY) <= fecha 
(donde fecha será el nombre de tu campo de fecha .. en ese caso de tipo DATE (sólo fecha) .. si requieres que tu campo fecha registre también hora . .ningún problema .. usa las funciones que correspondan para obtener sólo la fecha de una fecha con hora incluida:)

http://dev.mysql.com/doc/mysql/en/da...-overview.html
http://dev.mysql.com/doc/mysql/en/da...functions.html

No sé si es correcto (podrías consultar en el foro de Base de datos) .. pero por ahí va la cosa .. no requieres de nada de PHP por médio. Tan sólo ejecutar ese código en la página/scritp que creas que tiene al menos una visita por día .. En su defecto se puede usar algún "Cron Job" (de Linux) o equivalente en Windows para controlar que tu script se ejecute cada X días (igualmente la consulta SQL será la misma ..)

Un saludo,
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:49.