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

tilføje flere data i xml-fil ved hjælp af PHP xmlwriter

Dit problem er i forespørgslen:

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

De fleste andre databaser end MySQL ville afvise denne forespørgsel, fordi du grupperer på 2 felter, mens du vælger mange felter.
Grupper efter år, måned vil kun vise en enkelt (tilfældig) række fra en måned og skjule alle de andre.

Løsningen er at droppe gruppen efter klausul fuldstændigt og omskriv forespørgslen sådan:

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

Bemærkning
Det er mærkeligt, at du ikke har en Hvor klausul. Vil du virkelig vælge alle artikler hver gang?
En bedre tilgang ville være at begrænse antallet af udvalgte artikler i forespørgslen med et eller andet filter.
Det er altid hurtigere at filtrere i databasen frem for i php.



  1. Python MySQL forkert arkitekturfejl

  2. OPDATERING med BESTIL AF

  3. MySQL Select sidste 7 dage

  4. Hvordan kan jeg oprette en dynamisk URL i php?