Hola!, pués si lo único que deseas es actualizar los estados de los anuncios simplemente has lo siguiente.
Sólo
cambia ésto:
Código PHP:
Ver original$query_anuncios = "SELECT afi.email, anu.id_anuncio, anu.name, anu.fecha_exp, if(TIMESTAMPDIFF(SECOND,NOW(),anu.fecha_exp)<0,'CADUCO','ACTIVO') estado FROM anuncios AS anu JOIN afiliados AS afi ON anu.id_afiliado = afi.id_afiliado ";
Por ésto:
Código PHP:
Ver original$VALOR_CADUCO="CADUCO";
$VALOR_NO_CADUCO="ACTIVO";
mysql_query("UPDATE anuncios set estado=if(TIMESTAMPDIFF(SECOND,NOW(),fecha_exp)<0,'$VALOR_CADUCO','$VALOR_NO_CADUCO')");
NOTA:
Cambia los valores de las variables $VALOR_CADUCO y $VALOR_NO_CADUCO, sí deseas que se almacenen con otro valor en la columna
estado ó si la columna estado esta definida como boolean ó enum ó integer (0,1 - true,false, -etc).
Y acerca del
cronjob, primero necesito saber en que sistema operativo trabajas ya que varía según el S.O.