---
title: "månadsproblem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/172789-månadsproblem"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "tanten"
published: "2008-07-15T10:35:25.000Z"
updated: "2008-07-16T08:09:04.000Z"
replies: 3
views: 453
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/172789-månadsproblem"
---

# månadsproblem

## #1 — tanten, 2008-07-15T10:35Z

Här får jag ut alla månader som finns i databasen

```php
try{
 $stmt = $pdo->prepare("SELECT DATE_FORMAT( datum, '%Y' ) AS year, DATE_FORMAT( datum, '%M' ) AS month FROM news
GROUP BY year,month 
ORDER BY datum DESC 
 ");
    $stmt->execute();
    while ($result = $stmt->fetch(PDO::FETCH_OBJ))
        {
	     echo "<dd><a href=\"";
         echo strftime("%B", strtotime($result->month));
         echo ".php\">";
         echo strftime("%B", strtotime($result->month));
         echo "</a></dd>\n";
```

Men om jag då försöker få ut bara månaderna 2008 och byter ut selecten med

```php
SELECT DATE_FORMAT( datum, '%Y' ) AS year, DATE_FORMAT( datum, '%M' ) AS 
MONTH FROM news
WHERE datum >= '2008-01-01'
GROUP BY MONTH 
ORDER BY datum DESC
```

Så blir outputen 7 stycken januari. I phpMyAdmin blir det rätt.
Varför?

Permalänk: https://www.webforum.nu/p/172789

## #2 — K@llen, 2008-07-15T10:49Z

Vad händer om du modifierar din fråga lite:

```
SELECT DATE_FORMAT( datum, '%Y' ) AS year, DATE_FORMAT( datum, '%M' ) AS 
MONTH FROM news
WHERE YEAR(datum) = YEAR('2008-01-01')
GROUP BY MONTH 
ORDER BY datum DESC
```

Permalänk: https://www.webforum.nu/p/2125782

## #3 — tanten, 2008-07-15T11:03Z

Då blir det tomt och i phpmyadmin blir det "MySQL returnerade ett tomt resultat (dvs inga rader)".

Permalänk: https://www.webforum.nu/p/2125786

## #4 — tanten, 2008-07-16T08:09Z

Nu fick jag det att fungera med

```php
SELECT DATE_FORMAT( datum, '%M' ) AS 
month FROM news
WHERE datum >= '2008-01-01'
GROUP BY month 
ORDER BY datum DESC
```

dvs month med gemener, och ta bort året i date_format. 
Kan inte precis påstå att jag förstår varför casesensitiv i ena fallet men inte i det andra...  :q .

Permalänk: https://www.webforum.nu/p/2125960

---

Tråden på webben: https://www.webforum.nu/amne/php/172789-månadsproblem
