Problema Archive News

Ciao ragazzi,

Premetto che se ho sbagliato sezione, Gianni spostami subito, non c'è problema. ;D

Il problmea è che dovrei visualizzare solo i mesi precedenti a quello corrente, ma questo non succede...

Io ho messo questo:

$mese_corrente = date("n");
$SQL_query = mysql_query('SELECT DISTINCT month,year FROM ' . $db_prefix . 'news WHERE month<' . $mese_corrente . ' ORDER by id DESC');

Solo che quando mi dà i mesi mi dà solo quelli che sono inferiori a quello attuale, per esempio adesso siamo a Maggio(5), quello che mi dà lo script sono solo i mesi du Gennaio(1), Febbraio(2), Marzo(3) e Aprile(4), ma non Dicembre(12), Novembre(11), etc...

p.s. nella tabella delle news ho Month, Year e Time(timestamp)

p.s.s. se non si può fare niente con Month e Year, si può fare qualcosa con Time(timestamp)?

Ciao e come sempre Grazie

inviato 10 anni fa
dantefoxfox
X 0 X

Si, devi lavorare con il timestamp. Calcola il timestamp del primo giorno del mese corrente e cerca i record con timestamp minore di quello calcolato.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Si, devi lavorare con il timestamp. Calcola il timestamp del primo giorno del mese corrente e cerca i record con timestamp minore di quello calcolato.

 :bye:

Scusami Gianni, non ti arrabbiare, ma mi potresti dare, non dico scrivere interamente il codice, qualche aiutino?

risposto 10 anni fa
dantefoxfox
X 0 X

Per avere l'ultimo giorno del mese si fa così

$lastday = strftime ("%d.%m.%Y", (mktime (0,0,0,(date(m)+1),0,(date(Y)))));

e per il primo?

Poi basta che lo converto in timestamp con jdtounix, giusto?

risposto 10 anni fa
dantefoxfox
X 0 X

Ecco il timestamp della mezzanotte del primo giorno del mese corrente:

$timestamp = mktime(0, 0, 0, date("m")  , 1, date("Y"));

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ecco il timestamp della mezzanotte del primo giorno del mese corrente:

$timestamp = mktime(0, 0, 0, date("m")  , 1, date("Y"));

 :bye:

Grazie per l'aiuto Gianni ;D

ma ho una perplessità: quando provo a mettere il timestamp ottenuto in un qualsiasi converter disponibile in rete, mi dà Aprile 30 2006, 22:00:00 e non Maggio 1 2006, 00:00:00, devo ammettere che ho provato lo script, che mi hai dato, in locale.

Magari è per quello?

risposto 10 anni fa
dantefoxfox
X 0 X

 :) Non ti preoccupare, è solo il fuso orario. Noi siamo a GMT+2

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda