Oppure

Loading
31/05/12 18:14
felixiuc91
Salve,
Ho un problema , praticamente ho un database con un colonna chiamata "ora_inizio" ed è del formato h:m:s (es 20:32:00), ora però, voglio fare una select in cui ha come condizione
where ora_inizio>ora_attuale 

il problema e ricavare ora_attuale ho provato con
$ora_attuale=date("h:i:s");

e se faccio echo, me lo stampa in modo giusto, e la condizione che non va.
In più devo aggiungere al campo ore +6(è il fuso orario del server).
PS. il campo ora_inizio del database è nel formato time
Grazie
Ultima modifica effettuata da felixiuc91 31/05/12 20:00
aaa
31/05/12 19:13
Goblin
Di solito i vari DBMS hanno delle costanti per definire l'ora corrente... che DB usi ??
Ibis redibis non morieris in bello
31/05/12 19:28
felixiuc91
MySQL ver.5.1
aaa
31/05/12 19:43
Goblin
I miei ricordi si MySQL risalgono alla versione 4.qualcosa, ma spero non sia cambiato molto..
i comandi da utilizzare sono CURRENT_TIME, dunque con:
Select CURRENT_TIME ti ritorna l'ora del server e il tuo where diventa:
where ora_inizio>CURRENT_TIME
,
oppure, ma la mia memoria è labile ... prova con:
where ora_inizio>TIME_FORMAT (NOW(), '%H:%i:%s')


Ibis redibis non morieris in bello
31/05/12 20:00
felixiuc91
con current_time pare che funziona, ma per aggiungere alle ore +6?
aaa
31/05/12 20:15
Goblin
Questo non lo ricordo se MySQL lo supporta.. io farei un semplice +21600, che sono i secondi ... ;)
Non ho un server MySQL per fare le varie prove, ma con Firebird funziona :)
where ora_inizio>CURRENT_TIME+21600


resta il fatto del cambio giorno ... secondo me devi gestire un campo di tipo Timestamp...
Ultima modifica effettuata da Goblin 31/05/12 20:16
Ibis redibis non morieris in bello
01/06/12 7:39
Qwertj
io ci ho rinunciato, ho messo tutte le date come timestamp semplificando enormemente tutto
aaa
01/06/12 16:11
pierotofy
Esatto... perche' memorizzi la data come stringa?

Usa l'unix time.
Il mio blog: piero.dev