Cita: En la tabla tengo 3 registros que cumplen con las condiciones, pero siempre me devuelve mas resultados
Por lo pronto, si MySQL te devuelve más de los registros esperados, entonces es que hay más registros que cumplen las condiciones indicadas. Para confirmarlo, entonces, habría que verificar la afirmación:
Código MySQL:
Ver original `tipo_suscripcion`='oro'
AND `duracion_suscripcion` = 30
Código MySQL:
Ver original `tipo_suscripcion`='oro'
AND `duracion_suscripcion` = 30
Por otro lado, sería buena idea ver si realmente lo que estás pidiendo es lo que
supones estar pidiendo:
Código MySQL:
Ver original `duracion_suscripcion`,
fechacreacion,
`tipo_suscripcion`='oro'
AND `duracion_suscripcion` = 30
Con eso obtendrás los datos reales que se están calculando, y sobre qué base se hace.
Personalmente, me parece que a pesar de lo que supongas, es más seguro usar funciones de fecha para los cálculos, que funciones aritméticas tomando el UNIXTIME... Pero, es tu decisión.
Un ejemplo sería:
Eso devuelve la cantidad de días pasados entre la creación del aviso y el día de hoy.
Adicionalmente, cuando leo:
Cita: 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.
tengo la impresión de que tu sistema es innecesariamente complicado para establecer los periodos de vigencia, las publicaciones, y demás. He visto sistemas con estructuras de datos mejores que eso.
Pero, como dije, es un tema de decisión de diseño...