recuperare tutti gli annunci oltre i sei mesi

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao a tutti
ciao@Borgo

Apro qui la nuova discussione, se provo a recuperare gli annunci più vecchi di sei mesi mi da con questo script pagina bianca :(

PHP:
<?php   
require ('db_connect.php');  
$adesso=time();  
$vecchi=$adesso-(6*30*24*60-60);//tolgo circa 6 mesi 30 gg * 24 ore * 60 minuti * 60 sec    
$jokelist="SELECT * FROM annunci WHERE ts < $vecchi";    
var_dump($jokelist); echo "<br>";// cosa risulta 
$query=mysql_query($jokelist); 
var_dump($query); echo "<br>";//cosa risulta 
$ce_ne_sono=mysql_num_rows($query); 
//e cosa stampa 
if($ce_ne_sono >0){ 
    echo "ci sono $ce_ne_sono più vecchi di ".date("d m Y",$vecchi)."<br>"; 
    while($riga=mysql_fetch_array($query)){ 
        $data_del_annucio_vecchio=$riga['ts']; 
        echo "annuncio del ".date("d m Y",$data_del_annucio_vecchio)." o in timestamp = $data_del_annucio_vecchio <br>"; 
    }else{ 
        echo "non ci sono annunci più vecchi di ".date("d m Y",$vecchi)."<br>"; 
    } 
} 
?>

La tabella annunci ha un campo ts che contiene la funzione timestamp ......
 
Ultima modifica:
ciao
intanto correggi quell'errore che avevo fatto
$vecchi=$adesso-(6*30*24*60-60);//tolgo circa 6 mesi 30 gg * 24 ore * 60 minuti * 60 sec
con
$vecchi=$adesso-(6*30*24*60*60);//tolgo circa 6 mesi 30 gg * 24 ore * 60 minuti * 60 sec
poi cosa ti danno i var_dump?
....questo script pagina bianca
sei sicuro di chiamarlo?
non può darti una pagina bianca
o ti da un errore di php oppure i var_dump devono restirutirti qualcosa
o il primo risulta vuoto o con query errata
allora il secondo dovrebbe darti FALSE
e allora comunque un errore php alla riga $ce_ne_sono=mysql_num_rows($query);
prova a mettere altri var_dump per vedere dove si incasina
PHP:
<?php   
require ('db_connect.php');  
$adesso=time();
var_dump($adesso); echo "<br>"; 
$vecchi=$adesso-(6*30*24*60-60);//tolgo circa 6 mesi 30 gg * 24 ore * 60 minuti * 60 sec
var_dump($vecchi); echo "<br>";
//....
?>
 
ciao
piccolo grosso dubbio:
per caso hai definito il campo ts timestamp? se è così e vai a vedere dentro non c'è un numero intero ma il valore è espresso con 2011-09-22 21:38:25
mentre l'istruzione
$adesso=time();
e di conseguenza la
$vecchi=$adesso-(6*30*24*60*60);
restituiscono dei numeri interi e non la data
se è così devi trasformare la variabile $vecchi nel formato Y-m-d h:i:s altrimenti il confronto va a pallino

$vecchi=date("Y-m-d h:i:s",$vecchi); e nella query aggiungere gli apici
...WHERE ts < '$vecchi'";
 
Ultima modifica:
Si il campo ts e solo timestamp ;(

Forse e' questo l' errore....

Adesso sono uscito, domani verifico mettendo gli apici e vediamo ....

Cmq si mi da pagina bianca in quel modo
 

Discussioni simili