Originariamente inviato da nicola75ss
se usi un campo varchar per memorizzare un timestamp hai voglia di usare from_unixtime. non funzionerà mai.
prova così
select from_unixtime(cast(valida_da as signed),'%Y-%m-%d') from ...
sempre che nel campo ci sia solo un timestamp e non ci abbia messo pure qualcos'altro (tipo due timestamp)
fatto ma niente: cmq forse per fare prima mostro la struttura della tabella:
Codice PHP:
CREATE TABLE `offerte` (
`id` int(11) NOT NULL auto_increment,
`titolo` varchar(255) NOT NULL default '',
`sotto` varchar(255) NOT NULL default '',
`valida_da` varchar(30) NOT NULL default '',
`valida_fino` varchar(30) NOT NULL default '',
`prezzo` varchar(255) NOT NULL default '',
`trattamento` varchar(255) NOT NULL default '',
`descrizione_offerta` text NOT NULL,
`scadenza` varchar(250) NOT NULL default '',
`albergo` varchar(250) NOT NULL default '',
`pacchetto` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 ;
e la query di ora è questa:
Codice PHP:
$sql1=mysql_query("select id, titolo, from_unixtime(cast(valida_da as signed),'%Y-%m-%d'), from_unixtime(cast(valida_fino as signed),'%Y-%m-%d'), sotto, prezzo, trattamento, descrizione_offerta, scadenza, pacchetto from offerte where albergo='$hotel' and from_unixtime(scadenza, '%Y-%m-%d') >= CURDATE() order by scadenza asc");
while ($riga1=mysql_fetch_array($sql1)) {
$id=$riga1['id'];
$titolo=$riga1['titolo'];
$valida_da=$riga1['valida_da'];
$valida_fino=$riga1['valida_fino'];
$sotto=$riga1['sotto'];
$prezzo=$riga1['prezzo'];
$trattamento=$riga1['trattamento'];
$descrizione_offerta=$riga1['descrizione_offerta'];
$scadenza=$riga1['scadenza'];
$pacchetto=$riga1['pacchetto'];
Ma continua a non mostrarmi la data di inizio e di fine (valida_da e valida_fino)