Ciao, funziona tutto bene solo una cosa che mi stampa tutti i risultati è non solo quelli con attivo=1 quindi ho provato ha fare così

Codice PHP:
function bannerChecker($opts)
{
    
$q "select * from  banners [B]where attivo=1[/B]  order by scadenza desc" ;
    
// Carichiamo tutti i banner a partire da quelli con data di scadenza piu' alta
    
$ris mysql_query($q) ;

    if( !
$ris )
        return 
false ;
    
$now date(  "Y-m-d H:i:s" time() ) ;
    while( 
$curr mysql_fetch_array($ris) )
    {
        
// LE DATE in mysql se sono salvate di tipo datetime saranno in fomrato std unix YYYY-mm-dd HH:ii:ss e potrai fare controlli lessicografici
        
        // Banner scaduto
        
if(  $curr["scadenza"]> $now )
        {
            
// update PER FAR SCADERE IL BANNER
            
$qs "update banners set attivo=0 where id='".$curr["id"]."' limit 1 " ;
            
$ris mysql_query($qs);
            
        }

echo 
$curr["codice"];

    }
    return 
true ;

solo che se faccio così non capisco come mai mi setta l'attivo = 0

ciao e grazie