---
title: "Visa efter månad"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/128214-visa-efter-månad"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "casca"
published: "2005-05-14T10:49:31.000Z"
updated: "2005-05-15T20:40:28.000Z"
replies: 13
views: 560
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/128214-visa-efter-månad"
---

# Visa efter månad

## #1 — casca, 2005-05-14T10:49Z

Har en MySQL-tabell där varje post lagras med datum.. En liten enkel kalender. Datumet sparas som Y-m-d, t.ex 2005-01-01 som "date" i databasen.. Om jag nu vill visa t.ex alla poster under en viss månad, hur gör jag då?

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

## #2 — sabbacus, 2005-05-14T10:57Z

SELECT \* FROM \<min_tabel\>l WHERE month(\<datumkolumn\>) = \<månadsnummer\>

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

## #3 — casca, 2005-05-14T11:03Z

Men nu har jag ju inte separata fält för år, månad och dag, utan ett fält för datumet i formatet YYYY-MM-DD. Alltså blir det inte lika enkelt..

Jag funderade på om nåt här inte borde funka:

```php
mysql_query("SELECT * FROM tabell WHERE datum = % . "-" . date("m") . "-" . % ORDER BY datum");
```

 (Fast jag har nog rört till nånting, för det funkar inte..)

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

## #4 — fiddler, 2005-05-14T11:12Z

Jag använder WHERE datum LIKE till något liknande. Kanske en dum lösning...

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

## #5 — casca, 2005-05-14T11:28Z

Ahaa! :birp  :r 

Var tvungen att glo lite i SQL-manualen.. Men tack ändå fiddler, hade noll koll på LIKE. ;)

Följande kod funkar ypperligt:

```php
mysql_query("SELECT * FROM tabell WHERE datum LIKE '" . date("Y") . "-" .date("m"). "-%" . "' ORDER BY datum");
```

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

## #6 — fiddler, 2005-05-14T11:47Z

Va bra! :)

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

## #7 — sabbacus, 2005-05-15T09:16Z

> **casca skrev:**
>
> Men nu har jag ju inte separata fält för år, månad och dag, utan ett fält för datumet i formatet YYYY-MM-DD. Alltså blir det inte lika enkelt..

Har du ens testat min sql-sats? Den fungerar ypperligt på ett date-fält.

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

## #8 — lunarmys, 2005-05-15T09:22Z

herrejävlar

vem i hela friden får för sig att använda \_LIKE\_ på ett DATE-fält!?

är det så att någon saknar hjärnceller?

sabbacus lösning är den rätta, om du endast är ute efter att matcha MÅNAD

om du vill matcha månad och år så finns DATE_FORMAT() som du kan använda

ibland inser man vilken tragisk värld man lever i

(edit: kanske ska påpeka att ja, sabbacus visade det här inlägget för mig, men nej, jag är inte samma person som sabbacus)

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

## #9 — fiddler, 2005-05-15T16:58Z

Re: herrejävlar

> **lunarmys skrev:**
>
> vem i hela friden får för sig att använda \_LIKE\_ på ett DATE-fält!?
> 
> är det så att någon saknar hjärnceller?
> 
> sabbacus lösning är den rätta, om du endast är ute efter att matcha MÅNAD
> 
> om du vill matcha månad och år så finns DATE_FORMAT() som du kan använda
> 
> ibland inser man vilken tragisk värld man lever i
> 
> (edit: kanske ska påpeka att ja, sabbacus visade det här inlägget för mig, men nej, jag är inte samma person som sabbacus)

Det positiva med wF är att man kan lära sig av andra. Man kan visa upp korkad kod och få ett förslag på en bättre lösning. Det negativa är att man ibland kan bli anklagad för att sakna hjärnceller bara för att man gör sitt bästa... :OO

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

## #10 — casca, 2005-05-15T19:28Z

Re: herrejävlar

> **lunarmys skrev:**
>
> vem i hela friden får för sig att använda \_LIKE\_ på ett DATE-fält!?
> 
> är det så att någon saknar hjärnceller?
> 
> sabbacus lösning är den rätta, om du endast är ute efter att matcha MÅNAD
> 
> om du vill matcha månad och år så finns DATE_FORMAT() som du kan använda
> 
> ibland inser man vilken tragisk värld man lever i
> 
> (edit: kanske ska påpeka att ja, sabbacus visade det här inlägget för mig, men nej, jag är inte samma person som sabbacus)

 Your holyness, visst, jag har ingen vidare koll på datatyper i MySQL, men du kanske ska använda dina social skills i att förklara lite bättre (gärna utan personangrepp också). Du skulle ju t.ex kunna börja med att föklara varför det nu är så galet att använda LIKE på ett date-fält? Just a few tips and pointers.

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

## #11 — lunarmys, 2005-05-15T19:51Z

visst, ibland kanske man ska ta ett steg tillbaks å tänka efter innan man skriver, men ibland så är det bättre att bara skriva. när man känner sådan ilska t ex ;)

like ska man undvika så långt som möjligt, när det gäller \_ALLA\_ datatype, i \_ALLA\_ databaser. like är slött. end of story.

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

## #12 — casca, 2005-05-15T19:54Z

> **lunarmys skrev:**
>
> när man känner sådan ilska t ex ;)

 Du tar användandet av LIKE hårt?

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

## #13 — @nders, 2005-05-15T20:02Z

En anledning till att inte använda LIKE på datumfält; vet du säkert i vilket format datumet lagrats? 

LIKE är en operator som används på strängdatatyper. 

Det är alltid att rekommendera att du använder någon av de datum- eller tidfunktioner som finns att tillgå i MySQL. (och där har du en hel drös att välja på! :) )

<http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html>

Mvh

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

## #14 — lunarmys, 2005-05-15T20:40Z

casca, det gör jag, ja.

likadant när nybörjade får för sig att lagra filer i databasen. fast.. då blir jag nog ännu argare, om möjligt \[klura\]

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

---

Tråden på webben: https://www.webforum.nu/amne/php/128214-visa-efter-månad
