sql >> Base de Datos >  >> RDS >> Mysql

agregue múltiples datos en un archivo xml usando PHP xmlwriter

Su problema está en la 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 ";  

La mayoría de las bases de datos que no sean MySQL rechazarían esta consulta, porque está agrupando en 2 campos mientras selecciona muchos campos.
El group by year, month solo mostrará una única fila (aleatoria) de un mes y ocultará todas las demás.

La solución es eliminar el group by cláusula por completo y reescriba la consulta así:

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

Observación
Es extraño que no tengas un WHERE cláusula. ¿Realmente desea seleccionar todos artículos cada vez?
Un mejor enfoque sería limitar el número de artículos seleccionados en la consulta mediante algún filtro.
Siempre es más rápido filtrar en la base de datos que en php.