PDA

View Full Version : [PHP4]Problemi con le date e mktime()


Master FO
22-03-2007, 15:26
Salve a tutti. Ho bisogno di un consiglio, sono tre giorni che sbatto la testa su questa cosa e non ne vengo fuori :cry:

Dovrei prendere delle informazioni da un database mysql e poi stampare il tutto in una tabella con php. Fin qui nessun problema :D

Il DB contiene i domini di una ditta. L'obiettivo sarebbe visualizzare in rosso le righe corrispondenti ai domini che scadono tra meno di un mese.

Il codice che ho scritto è il seguente:

<?php
$host="***";
$user="***";
$password="***";
$database="***";
$tabella ="***";


MySQL_connect($host,$user,$password); //connessione database
MySQL_select_db($database)
or die("Impossibile selezionare il database");

function date_to_timestamp($date) {
list($year, $month, $day) = explode('-', $date);
return mktime(0, 0, 0, $day, $month, $year,0);
}


echo "<table border=2>";
echo "<tr><td><b>Name</b></td><td><b>Owner</b></td><td><b>DNS1</b></td><td><b>DNS2</b></td><td><b>Expire Date</b></td><td><b>Comments</b></td>";

//query
$sql= "SELECT IdDomain, name, owner, dns1, dns2, expire_date, comments FROM $tabella ORDER BY name";
$risultato=MySQL_query($sql)
or die("Impossibile eseguire la query");

$today=date("Y-M-d");
$today_timestamp=date_to_timestamp($today);
while ($riga = MySQL_fetch_array($risultato)){
echo "<tr>";
$expire_timestamp=date_to_timestamp($riga["expire_date"]);
$differenza=intval(($expire_timestamp-$today_timestamp)/(60*60*24));
if ($differenza < 30){
echo "<td><font size=2 color=red>".$riga["name"]."</font></td>";
echo "<td><font size=2 color=red>".$riga["owner"]."</font></td>";
echo "<td><font size=2 color=red>".$riga["dns1"]."</font></td>";
echo "<td><font size=2 color=red>".$riga["dns2"]."</font></td>";
echo "<td><font size=2 color=red>".$riga["expire_date"]."</font></td>";
echo "<td><font size=2 color=red>".$riga["comments"]."</font></td>";
echo "<td>".$differenza."</td>";
echo "</tr>";
}else{
echo "<td><font size=2>".$riga["name"]."</font></td>";
echo "<td><font size=2>".$riga["owner"]."</font></td>";
echo "<td><font size=2>".$riga["dns1"]."</font></td>";
echo "<td><font size=2>".$riga["dns2"]."</font></td>";
echo "<td><font size=2>".$riga["expire_date"]."</font></td>";
echo "<td><font size=2>".$riga["comments"]."</font></td>";
echo "</tr>";
}
}
echo "</table>";

MySQL_close();
?>

Il problema è che i dati sono sballati... ho provato a stampare la variabile $differenza, ma dà risultati non veritieri... non capisco proprio dove stia l'errore :(

Qualcuno può aiutarmi? :help: