Salve,
questa cosa mi sa proprio di incredibile....
Con EasyPHP 1.8.0.1 ho creato una tabella che ho chiamato "prenotazione", la quale contiene solo un campo che ho chiamato "data" il cui tipo è "timestamp".
Da http://localhost/mysql/ inserisco nella tabella una riga che rappresenta la data attuale, il cui codice SQL è
Codice PHP:
INSERT INTO `prenotazione` ( `data` ) VALUES (NOW( ) )
Dopodichè effettuo la seguente query SQL:
Codice PHP:
SELECT UNIX_TIMESTAMP(data) FROM prenotazione ORDER BY data DESC
la quale mi restituisce il timestamp corretto (ho verificato in diversi modi, tra cui utilizzando la funzione date() in una pagina php).
Successivamente creo la mia brava pagina php nella quale, dopo le operazioni di connessione al database, ho inserito il seguente "complicatissimo" codice:
Codice PHP:
<?
$query = "SELECT UNIX_TIMESTAMP(data) FROM prenotazione ORDER BY data DESC";
$ris = MYSQL_QUERY ($query,$conn);
$riga = mysql_fetch_array($ris);
if ($riga == FALSE)
{
echo("Nessuna prenotazione inserita"."
");
}
else
{
echo("Le prenotazioni sono state effettuate nelle seguenti date:
");
do
{
$dp = $riga[data]; // ho provato anche con $dp = $riga['data'];
echo ("N° secondi = $dp
");
$giorno = date('l',$dp); // ho provato anche con $giorno = date('l',dp);
echo ("Giorno = $giorno
");
switch($giorno){
case Monday : $giorno = Lunedì; break;
case Tuesday :$giorno = Martedì; break;
case Wednesday: $giorno = Mercoledì; break;
case Thursday: $giorno = Giovedì; break;
case Friday : $giorno = Venerdì; break;
case Saturday: $giorno = Sabato; break;
case Sunday: $giorno = Domenica; break;
}
echo("Data Prenotazione : ".$giorno." ".date("d-m-Y H:i:s", $dp));
echo("
");
}
while ($riga = mysql_fetch_array($ris));
}
MYSQL_CLOSE ($conn);
?>
La cosa stranissima è che l'output di questa "complicatissima" pagina è:
Codice PHP:
Le prenotazioni sono state effettuate nelle seguenti date:
N° secondi =
Giorno = Thursday
Data Prenotazione : Giovedì 01-01-1970 01:00:00
Mi sembra di aver capito che viene perso il contenuto della variabile $dp. Ma allora mi chiedo...come
ha fatto date() a "ricavare" Thursday?
Se date() riesce a "ricavare" il giorno della settimana, perchè
non riesce a "ricavare" una data più completa ?
Grazie