Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Mysql

Respuesta
 
Herramientas Desplegado
Antiguo 23-jul-2007, 14:04   #1 (permalink)
the_josz ha deshabilitado el karma
 
Fecha de Ingreso: abril-2006
Mensajes: 43
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.
the_josz está desconectado   Responder Citando
Antiguo 23-jul-2007, 14:50   #2 (permalink)
carmagedon está en el buen camino
 
Avatar de carmagedon
 
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 474
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.
carmagedon está desconectado   Responder Citando
Antiguo 23-jul-2007, 14:53   #3 (permalink)
ghosthead-nebula ha deshabilitado el karma
 
Avatar de ghosthead-nebula
 
Fecha de Ingreso: marzo-2007
Mensajes: 250
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 =)
__________________
Mis dibujos: Click Aquí
ghosthead-nebula está desconectado   Responder Citando
Antiguo 23-jul-2007, 20:05   #4 (permalink)
the_josz ha deshabilitado el karma
 
Fecha de Ingreso: abril-2006
Mensajes: 43
Re: Ayuda!!!!

Gracias carmagedon y ghosthead-nebula por sus respuestas. Esta son muy buenas y de mucha ayuda para mi...
the_josz está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 01:08.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93