Foros del Web » Programando para Internet » PHP »

Quiero al cierto tiempo de insertar un registro se elimine o algo por el estilo

Estas en el tema de Quiero al cierto tiempo de insertar un registro se elimine o algo por el estilo en el foro de PHP en Foros del Web. Ok tengo una base de datos donde inserto los registro de todos los clientes que me han comprado y el plazo que me han comprado ...
  #1 (permalink)  
Antiguo 13/08/2008, 14:19
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Quiero al cierto tiempo de insertar un registro se elimine o algo por el estilo

Ok tengo una base de datos donde inserto los registro de todos los clientes que me han comprado y el plazo que me han comprado ejemplo:

Ferreteria el Aguila ----- 3 Meses ------ $180------ Inicio el 13/08/2008 <---este es un campo autofechador date

quiero que ese campo exactamente a los 3 meses haga algo... ya sea ke se borre o que cambie el estilo del texto de ser negro ke se ponga rojo....

pero quiero que automaticamente me cuente 3 meses...

alguien me puede ayudar??

Gracias anticipadas
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #2 (permalink)  
Antiguo 13/08/2008, 14:31
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Puedes hacer un cronjob diario ...
Que si la fecha es mayor de tres meses, que elimine dicho registro.
Y como el cronjob se realizaria diariamente, lo maximo que puede tardarse en borrar un registro son un par de horas.
  #3 (permalink)  
Antiguo 13/08/2008, 14:37
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

en realidad no se muy bien ke es cronjob pero mas bien lo que necesito...
es que despues de 3 meses de insertarse el registro cambie algun valor.. por ejemplo... que se agrege class="rojo"... no se si alguien me entienda
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #4 (permalink)  
Antiguo 13/08/2008, 14:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Hola Capimaster,

Como bien te dice Ronruby, puedes usar un cron job que se ejecute diario para ir marcando tus registros.

Por otro lado también lo puedes hacer comparando la fecha de tu registro con la actual y si son más de 3 meses le agregas ese class="rojo".

Saludos.
  #5 (permalink)  
Antiguo 13/08/2008, 14:47
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Si sabes ingles te dejo este link:

http://www.thesitewizard.com/general/set-cron-job.shtml

Basicamente lo que hace un cronjob es correr un archivo cada cierto tiempo.
Este archivo puede ser en PHP.
En dicho archivo puedes especificar que tarea quieres que haga el cronjob. Asi que si sabes programar en PHP no te sera ningun problema para agregar el class a tu texto.
  #6 (permalink)  
Antiguo 13/08/2008, 14:47
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Cita:
Iniciado por GatorV Ver Mensaje
Hola Capimaster,

Como bien te dice Ronruby, puedes usar un cron job que se ejecute diario para ir marcando tus registros.

Por otro lado también lo puedes hacer comparando la fecha de tu registro con la actual y si son más de 3 meses le agregas ese class="rojo".

Saludos.
Esto ultimo me agrada como lo hago? alguna sugerencia
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #7 (permalink)  
Antiguo 13/08/2008, 14:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Pues comparando tu campo "fecha" usando strtotime() y date(). Revisalos en el manual de PHP.

Saludos.
  #8 (permalink)  
Antiguo 13/08/2008, 15:36
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

:s lamentablemente no se mucho aun de esto... creo ke tendre ke olvidar esta parte de mi script encontre un manual de php donde habla del comando strtotime() pero nada claro para lo que necesito... no se como hacer la comparacion

De cualquier forma gracias...
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #9 (permalink)  
Antiguo 13/08/2008, 15:45
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

strtotime convierte una fecha de tipo (por ejemplo) MM/DD/YYYY a su timestamp de UNIX (ya debes saber lo que es un UNIX timestamp)
Sacas la fecha de la base de datos, la conviertes a un timestamp.
Luego comparas, si el timestamp es mayor que (60*60*24*90), osea 90 dias, entonces tomas el texto o lo que quieras y le das el class="rojo"
  #10 (permalink)  
Antiguo 13/08/2008, 15:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Cita:
Iniciado por Ronruby Ver Mensaje
strtotime convierte una fecha de tipo (por ejemplo) MM/DD/YYYY a su timestamp de UNIX (ya debes saber lo que es un UNIX timestamp)
Sacas la fecha de la base de datos, la conviertes a un timestamp.
Luego comparas, si el timestamp es mayor que (60*60*24*90), osea 90 dias, entonces tomas el texto o lo que quieras y le das el class="rojo"
Mas claro ni el agua
  #11 (permalink)  
Antiguo 13/08/2008, 15:55
 
Fecha de Ingreso: julio-2008
Mensajes: 91
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Para que sea automatico, tiene que ser con cron jobs. Aqui resolvo mis problemas:

http://www.forosdelweb.com/f19/sobre-cron-jobs-cpanel-320770/


Saludos...
  #12 (permalink)  
Antiguo 13/08/2008, 19:56
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

En mi cpanel tengo esto

Como configuraria para que haga todo eso... disculpen.. pero aun no tengo el minimo conocimiento en esto...

Les prometo que en cuato encuetro el libro lo compro... :S
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #13 (permalink)  
Antiguo 13/08/2008, 20:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Hola Capimaster,

Ese solo es el panel del cronjob, tu tienes que programar el script PHP que haga lo que requieres y luego agregarla al cronjob.

Saludos.
  #14 (permalink)  
Antiguo 14/08/2008, 09:29
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Oigan alguien me puede a desarrollar brevemente este scrip???

es ke ya he leido mucho pero no logro comprender.... dejemos el cronjob para mas delantito...
comenzando con el script... como lo tengo que desarrollar? actualmente mi base de datos inserta la fecha de cada registro que subo.... osea ke tengo...

Cliente Estilo Fecha de Registro Plazo Contratado
MiniSuper Normal 2008-13-08 90

y quiero que en 90 dias me cambie el estilo normal y que ponga Finalizado osea ke cambie un campo en la base de datos....

ya hablamos del timestamp que por cierto entre todo lo que lei. .comprendi como es lo del tiempo (60*60*24*90) pero ni idea de como aplicarlo... ni de como hacer el script...

Se ke normalmente es foro es solo para ayudar.. y no para resolverle el mundo a los usuarios.. pero de verdad ya no supe ni ke hacer...
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #15 (permalink)  
Antiguo 14/08/2008, 09:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Hola Capimaster,

Si quieres que se marque en la base de datos entonces si es casi forzoso que uses un Cron Job que se ejecute todos los dias.

La solucion que te poniamos de comprobar es lo mismo, pero solo afectabas al despliegue al ver los datos, no los datos directos en la bdd.

Saludos.
  #16 (permalink)  
Antiguo 14/08/2008, 09:59
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Si del cronjob estoy consiente que sera necesario....

y ok me parece bien lo que dices que solo sea al despliegue... con eso es mas que suficiente...
yo lo que necesito es agregar dentro de una <div es class="Normal" o si ya expiro los 90 dias ke la class="finalizado" pero bueno esto ya se me hace un poco mas facil....

mi problema es el script
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #17 (permalink)  
Antiguo 14/08/2008, 15:35
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Quiero al cierto tiempo de insertar un registro se elimine o algo por el e

Código PHP:
<?php
require_once('conexion.php');

$dias strtotime("-90 days");

$query "UPDATE tabla SET Estilo='Finalizado' WHERE UNIX_TIMESTAMP(Fecha)<'$dias'";
$update mysql_query($query) or die(mysql_error());

?>
Ahora te falta a ti hacer el cron. -_-
Con ese script revisas todos los registros que sean mayores de 90 dias y cambia el "estilo" a Finalizado.
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 18:25.