Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

adicione vários dados no arquivo xml usando PHP xmlwriter


Seu problema está na consulta:
$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 ";  

A maioria dos bancos de dados, exceto MySQL, rejeitaria esta consulta, porque você está agrupando em 2 campos enquanto seleciona muitos campos.
O group by year, month exibirá apenas uma única linha (aleatória) de um mês e ocultará todas as outras.

A solução é eliminar o group by cláusula inteiramente e reescreva a consulta assim:
$sql = "SELECT *,YEAR(FROM_UNIXTIME(timestamp)) AS YEAR, 
                MONTH(FROM_UNIXTIME(timestamp)) AS MONTH 
         FROM ".NEWS_ARTICLES." ORDER BY YEAR DESC, MONTH ASC";

Observação
É estranho que você não tenha um WHERE cláusula. Você realmente deseja selecionar todos artigos sempre?
Uma abordagem melhor seria limitar o número de artigos selecionados na consulta por algum filtro.
É sempre mais rápido filtrar no banco de dados do que no php.