... trovato l'errore... sbagliavo, come supponevo nel far analizzare l'array quando è vuoto... posto il codice finale, magari può servire a qualcuno:
Codice PHP:
<?php
$serverdb='localhost';
$userdb='root';
$passdb='';
$db='test';
$table='news';
$link=mysql_connect("$serverdb","$userdb","$passdb")
or die ("Impossibile connettersi");
mysql_select_db($db,$link);
$sel=mysql_query("SELECT * FROM news
WHERE data <= DATE_ADD(CURDATE(), INTERVAL 30 DAY);");
if (!$sel) {
exit ('
Errore mentre recuperavo i dati' . mysql_error() . '</p>');
}
if (mysql_num_rows($sel) == 0) {
echo "non ci sono eventi";
} else {
while($news = mysql_fetch_array($sel)) {
$a=$news['dataev'];
$for1=explode(" ", $a);
$data=explode("-", $for1[0]);
$ora=explode("-", $for1[1]);
$a1=$news['data'];
$for1=explode(" ", $a1);
$data1=explode("-", $for1[0]);
$ora1=explode("-", $for1[1]);
echo "".$news['titolo']."</h2>
".$news['art']."
che si terrà il ".$data[2]."/".$data[1]."/".$data[0]." alle ore ".$ora[0]."
Pubblicato il ".$data1[2]."/".$data1[1]."/".$data1[0]." alle ore ".$ora1[0]."
</p>";
}
}
?>
in pratica con questo codice stampa tutti i record che nel campo 'data' contengono un timestamp non superiore di 30 giorni alla data attuale e se assenti stampa la striga "non ci sono eventi".
Grazie comunque!