Foros del Web » Programando para Internet » PHP »

actualizacion automatica de campo en determinada fecha!

Estas en el tema de actualizacion automatica de campo en determinada fecha! en el foro de PHP en Foros del Web. Hola Gente! Recurro nuevamente a ustedes porque tengo una cuestion que no puedo resolver. Tengo una tabla llamada "tabla" en MYSQL, que entre varios campos, ...
  #1 (permalink)  
Antiguo 28/03/2010, 15:06
 
Fecha de Ingreso: enero-2010
Mensajes: 42
Antigüedad: 14 años, 3 meses
Puntos: 1
actualizacion automatica de campo en determinada fecha!

Hola Gente! Recurro nuevamente a ustedes porque tengo una cuestion que no puedo resolver. Tengo una tabla llamada "tabla" en MYSQL, que entre varios campos, tiene uno llamado "fecha", que marca la fecha en la que el usuario publico su producto. Tengo otro campo llamado "vence", que muestra la fecha en la que la publicacion del producto vence, dependiendo de lo que el usuario marque. Tengo otro campo llamado "activo", donde mediante una Y o una N determina si el producto esta activo o no.
Lo que necesito, es que una vez llegada la fecha que muestra el campo "vence", en el campo "activo" se reemplace la Y por la N.
Alguna idea de como hacerlo?
Por php o por mysql?

Muchas gracias!
  #2 (permalink)  
Antiguo 28/03/2010, 15:57
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Respuesta: actualizacion automatica de campo en determinada fecha!

Las formas para ejecutar un script en un momento en particular serían con un cron job o que lo hagas a mano desde un panel y en este caso no podrías aplicar estas alternativas de una manera eficiente.

Para modelizar esto yo trabajaría con el campo "activo" y con la fecha de vencimiento. Desde el código de mi aplicación listaría los productos si (activo==Y && fechaActual<=fechaVencimiento), cosa que puedes hacer perfectamente con un WHERE de SQL. Lo mismo haría si alguien intenta acceder a una publicación de un producto; le informaría que este ha vencido (y puedes aprovechar para mostrar productos similares) en base a la misma condición.

Luego puedes tener un cron job que se ejecute digamos una vez al día que se encargue de colocar activo=N donde corresponda y así ahorrarías luego algunos recursos a la hora de comparar.

Otra forma sería que tu cron job se ejecute una vez por hora desactivando los vencidos por lo que el publicante tendría hasta una hora de "ventaja". Pero como te comentaba yo optaría por la 1º alternativa.

Saludos.
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 29/03/2010, 08:36
 
Fecha de Ingreso: enero-2010
Mensajes: 42
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: actualizacion automatica de campo en determinada fecha!

Mil gracias por la respuesta! No lo habia pensado de esa forma!
Ahora lo voy a implementar y te cuento....
Nuevamente, gracias!!!!!!!!
  #4 (permalink)  
Antiguo 29/03/2010, 12:04
 
Fecha de Ingreso: enero-2010
Mensajes: 42
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: actualizacion automatica de campo en determinada fecha!

Bueno, ya he logrado un archivo php llamado "vencimiento.php" con el siguiente contenido:
Código:
<?php require_once('Connections/espacioinstrumentos.php'); ?>
<?php
$updateSQL = sprintf("UPDATE tabla SET activo='N' WHERE vence<CURDATE() AND publicadohora<CURTIME()");

  mysql_select_db($database_espacioinstrumentos, $espacioinstrumentos);
  mysql_query($updateSQL, $espacioinstrumentos) or die(mysql_error());
  ?>
Ahora me falta automatizarlo en mi servidor, para que se ejecute cada cierto tiempo...
Decis que eso lo puedo hacer con CRON?
Ahora voy a averiguar un poco, y les cuento!

Etiquetas: fechas, actualizaciones, campos, automatico
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 10:42.