Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2013, 22:22
bakterone
 
Fecha de Ingreso: junio-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 1
Exclamación hacer update a campo despues de X dias.

Eso,

Estoy desarrollando una web de avisos pubicitarios, en donde hay 3 categorias de avisos, y 3 tipos de vigencias.

ORO, PLATA, BRONCE, y duracion de 30, 180, 360 días. Con lo que estoy liado es con la consulta SQL, ya que se que debo utilizar un cronjob en el server y ejecutarlo cada X dias (En mi caso una vez al dia a las 00:00:01 horas).

El la tabla tengo un campo INT(fechacreacion) donde guardo la fecha en formato UNIXTIME ( ej:1364781574), y otro campo numero con la duracion de la suscripcion (30,180,360), y un campo (estado) en donde guardo el valor de publicado(1), despublicado(0), que es el que deseo editar.

Como debo realizar la consulta para por ej: traer todos los registros del tipo oro, con duracion de 30 dias, y que el su fecha de creacion sea de hace 30 dias o mas?.

Por ejemplo pense en hacerlo asi pero nome resulto (En la tabla tengo 3 registros que cumplen con las condiciones, pero siempre me devuelve mas resultados):

Código MySQL:
Ver original
  1. UPDATE qppublicaciones SET estado=0 WHERE `tipo_suscripcion`='oro' AND `duracion_suscripcion` = '30' AND `estado` ='1' AND `duracion_suscripcion` - FLOOR( (
  2. (
  3. fechacreacion + ( 86400 *365 ) ) - unix_timestamp( )
  4. ) /86400
  5. )<= 0;
:(

Podrian ayudarme?.

He buscado informacion en el foro e internet, pero nada clarificador.

Muchas Gracias.

Última edición por gnzsoloyo; 04/05/2013 a las 04:16 Razón: SQL mal etiquetado