Komprimer resultater fra databasen

Tags:    php sql

<< < 123 > >>
Kære udviklere!

Jeg sidder og koder og kategori oversigt, som omhandler månedvisning.
Problemet er at jeg gerne vil have komprimeret resultater fra den samme
måned ind i ét resultat.

Eksempelvis - der er 1 resultat fra november, og 2 resultater fra december.
Så vil jeg gerne have det til at stå således:

Fold kodeboks ind/udKode 


Jeg håber at i kan følge mig.

Min kode indtil videre ser således ud:

Fold kodeboks ind/udPHP kode 


Den udskriver bare:

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 07.12.2011 17:18 af Bruger #16025
29 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 33 karma
Sorter efter stemmer Sorter efter dato
Det må næsten være noget i denne stil du har brug for:

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 07.12.2011 22:30 af Bruger #10216
Hvis du bruger et normalt datetime eller timestamp så nej - så kan du simpelt nok smide den igennem DATE_FORMAT() eller MONTH()
Da tidsstemplet i dette scenarie er i unix time, så er du nødt til at formattere det til en brugbar dato, som kan benyttes i MySQLs dato værktøjer.



Indlæg senest redigeret d. 08.12.2011 09:40 af Bruger #10216
Brug mysql Count og Group by.

Så kan DB returnere det for dig med et kald.

/J



Tusind tak Michael!



sry, jeg ikke lige kunne følge op :/



hurtigt fix kunne være noget i den her stil
Fold kodeboks ind/udPHP kode 

ik testet eller noget.



Kan det ikke have noget at gøre med at din kode udskriver måneden HVER gang der er et resultat i databasen.

Prøv at lave en while som kører alle månederne igennem i stedet for tæller hvor mange posts der er for den ene måned? :)



enig med Jokke, burde laves med et kald.



@Kenneth
Jeg har prøvet med dit eksempel, men der kommer fejl.

@Jokke
Hvordan ville du skrive det? For hvis jeg skriver:
Fold kodeboks ind/udPHP kode 

Så sker der ikke noget :(


---


Problemet er at jeg kører igennem et timestamp, altså time(). Derfor kan den ikke lave det i grupper da time() altid er forskellige, selvom måneden er den samme.



Indlæg senest redigeret d. 07.12.2011 18:54 af Bruger #16025
Jeg har svært ved at skrive det gældende SQL uden at sidde med dataen og kunne se design. Men hvis du slavisk går igennem:

http://www.java2s.com/Code/PostgreSQL/Table-Joins/UsingGROUPBYwithinnerjoin.htm

Tror jeg du får et fint indblik i opgaven. Desuden har jeg svært ved at gennemskue det PHP dato formatering.

Edit: ohh troede du skulle joine også

Never mind den her.

Edit:

Hvad siger den her:
"select distinct MONTH(postet) as maaned, count(id) as antal from blog group by month(postet)"

Mht til at du ALTID får 1 i den tidligere skyldes nok din "distict emne"



Indlæg senest redigeret d. 07.12.2011 19:05 af Bruger #5789
<< < 123 > >>
t