Ciao a tutti,
ho una colonna di tipo longtext, in cui memorizzo una data (giorno, mese, anno, orario) in formato timestamp.
Non so come fare una query in manera da recuperare i dati solo di tale giorno, per esempio il 12/05/2012.
grazie mille!
Ciao a tutti,
ho una colonna di tipo longtext, in cui memorizzo una data (giorno, mese, anno, orario) in formato timestamp.
Non so come fare una query in manera da recuperare i dati solo di tale giorno, per esempio il 12/05/2012.
grazie mille!
Ciao, scusa una cosa...
timestamp è il numero di secondi che sono passati dal 1 gennaio 1970 e giustamente ha un valore numerico il timestamp di adesso è 1350998911.
c'è qualcosa che non va...ho una colonna di tipo longtext, in cui memorizzo una data (giorno, mese, anno, orario) in formato timestamp
se ti serve il timestamp di una determinata data e ora fai così:se realmente il campo è in timestamp, la tua query dovrà contenere la condizione:codice:mktime($ore,$minuti,$secondi,$mese,$giorno,$anno);
spero di essere stato chiaro...codice:WHERE data > ".mktime(0,0,0,5,12,2012)." AND data < .mktime(23,59,59,5,12,2012).";";
Ciauzzz
grazie testapazza (il tuo nik è mitico
il valore timestamp è dentro a un campo longtext perchè si trova dentro alla tabella postmeta di wordpress.
Infatti per ogni custom post Evento ho un metabox per la data dell'evento con giorno, mese, anno, ora, minuti che, prima di essere registrato lo unisco e faccio diventare un timestamp.
Poi quando sono nell'archivio eventi ho i vari giorni che dovrebbero essere da filtro. Cioè se uno clicca su un giorno dovrebbero essere recuperati solo gli eventi di tale giorno...
mamma mia non so se sono riuscito a spiegarmi!
ora scrivo il codice e lo posto...
ecco, ma non capisco perchè mi recupera tutti gli eventi:
codice:$start = mktime(0,0,0,11,15,2012); $stop = mktime(23,59,59,11,15,2012); $args = array ( 'post_type' => 'eventi', 'orderby' => 'meta_value_num', 'meta_key' => '_evento_data', 'order' => 'ASC', 'meta_query' => array( 'key' => '_evento_data', 'value' => array($start, $stop), 'type' => 'numeric', 'compare' => 'BETWEEN', ) );
risolto.... mancava un array nel meta_query.
Ecco il codice giusto:
codice:$args = array ( 'post_type' => 'eventi', 'orderby' => 'meta_value_num', 'meta_key' => '_evento_data', 'order' => 'ASC', 'meta_query' => array ( array ( 'key' => '_evento_data', 'value' => array($start, $stop), 'type' => 'numeric', 'compare' => 'BETWEEN', ) ) );