Mysql
 sql >> база данни >  >> RDS >> Mysql

добавете множество данни в xml файл с помощта на PHP xmlwriter

Вашият проблем е в заявката:

$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 ";  

Повечето бази данни, различни от MySQL, биха отхвърлили тази заявка, защото групирате в 2 полета, докато избирате много полета.
Групата по година, месец ще покаже само един (произволен) ред от месец и ще скрие всички останали.

Решението е да премахнете групата по клауза изцяло и пренапишете заявката така:

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

Забележка
Странно е, че нямате WHERE клауза. Наистина ли искате да изберете всички статии всеки път?
По-добър подход би бил да се ограничи броят на избраните в заявката статии чрез някакъв филтър.
Винаги е по-бързо да се филтрира в базата данни, отколкото в php.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите следващата предстояща дата от маса?

  2. Използване на булев израз в ред по клауза

  3. Използване на CONCAT с MySQL тригери (Грешка при ,)

  4. Изберете къде съдържа JSON масив

  5. mysql_connect (localhost / 127.0.0.1) бавен на платформата Windows