Mysql
 sql >> Database >  >> RDS >> Mysql

aggiungi più dati nel file xml usando PHP xmlwriter

Il tuo problema è nella query:

$sql = "SELECT *,YEAR(FROM_UNIXTIME(timestamp)) AS YEAR, 
                MONTH(FROM_UNIXTIME(timestamp)) AS MONTH 
         FROM ".NEWS_ARTICLES." GROUP BY YEAR, MONTH ORDER BY YEAR DESC, MONTH ";  

La maggior parte dei database diversi da MySQL rifiuterebbe questa query, perché stai raggruppando su 2 campi mentre selezioni molti campi.
Il group by year, month visualizzerà solo una singola riga (casuale) di un mese e nasconderà tutte le altre.

La soluzione è eliminare il group by clausola interamente e riscrivi la query in questo modo:

$sql = "SELECT *,YEAR(FROM_UNIXTIME(timestamp)) AS YEAR, 
                MONTH(FROM_UNIXTIME(timestamp)) AS MONTH 
         FROM ".NEWS_ARTICLES." ORDER BY YEAR DESC, MONTH ASC";

Osservazione
È strano che tu non abbia un WHERE clausola. Vuoi davvero selezionare tutti articoli ogni volta?
Un approccio migliore sarebbe limitare il numero di articoli selezionati nella query da un filtro.
È sempre più veloce filtrare nel database piuttosto che in php.