Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   Ayuda!!!! (http://www.forosdelweb.com/f86/ayuda-507338/)

the_josz 23/07/2007 14:04

Ayuda!!!!
 
Que tal foreros, mi pregunta es ¿como hago yo para que un dato se borre después de transcurrido deteminada cantidad de días?

Ej:

| id | nom | fecha_inicio | Fecha_caudica |
| 1 | my_nom | 2007-05-01 | 2007-05-15 |

Cumplida la fecha 2007-05-15 que solito se borre ¿esto se puede hacer en MySQL?
incluso, he visto en algunas páginas que hasta te cuentan con dias, minutos y segundos el tiempo restante... ¿esto como se logra?

desde ya muchas gracias.

carmagedon 23/07/2007 14:50

Re: Ayuda!!!!
 
Pues, yo haría algo asi, no se si sería exactamente realizado de esta forma, pero es para que tengas una idea.
Código:

$fecha = date("d/m/y");
$borrar = mysql_query("DELETE FROM base_datos WHERE $fecha>='$fecha_caduca'",$con);

Saludos, cualquier cosa, pregunta.

ghosthead-nebula 23/07/2007 14:53

Re: Ayuda!!!!
 
Bueno, en primer lugar considera ser más explícito en los títulos de los foros (pues sólo con "ayuda" no te tomarán muy en serio).

Ahora, con lo de tu duda. No soy expeerta, pero haré lo que pueda para ayudarte:

Esto creo que se hace en PHP (o el lenguaje que estés usando). Yo te doy un dato en PHP, a ver si te sirve.

Allí hay una instrucción llamada strotime(), la cual te transforma una fecha actual en un número simbólico (por ejemplo, 123456789). Todas las fechas tienen un número único (como una huella digital).

Puedes hacer así:

Código PHP:

// Selección de la base de datos y la variable fecha;
$resultado mysql_query("SELECT * FROM fechas");
while(
$row mysql_fetch_array($resultado))
    
$fecha $row['fecha_caducidad'];

//Para tener el número simbólico de la fecha actual
$hoy strtotime(date("Y-m-d")); 

/* Si mal no recuerdo, esto es para obtener el formato de la fecha en la
base de datos (esta ifno me la proporcionó otro forista) */
$caduca strtotime($fecha);
$caduca strtotime(date("Y-m-d",$caduca)); 

// Comparando los resultados para borrar los datos
if($hoy == $caduca)
    {
        
// QUERY para borrar la base de datos
    


Si alguien tiene una mejor solución, será bienvenida.


Ojalá que esto te funcione =)



Editado:
La solución de carmagedon parece tener lógica y es más sencilla de hacer. Saludos =)

the_josz 23/07/2007 20:05

Re: Ayuda!!!!
 
Gracias carmagedon y ghosthead-nebula por sus respuestas. Esta son muy buenas y de mucha ayuda para mi...


La zona horaria es GMT -6. Ahora son las 18:52.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.