webForumDet fria alternativet

Hämta ur delvis date?

2 svar · 428 visningar · startad av SoulGod

SoulGodMedlem sedan aug. 20051 200 inlägg
#1

Jag har en databas till en kalender som ser ut som följer:
id (int11) , datum (date), rubrik, forare, info,lank, skribent

De fält som inte har en () är varchar allihop.

Jag hämtar ut informationen såhär:

$datumet = date("Y-m-d");
$query = " SELECT * FROM kalender WHERE datum >= '$datumet' "
$result = mysql_query($query) or die('Error, query failed');
while($row = mysql_fetch_array($result)) { ......

Det jag skulle vilja göra, är att få ut informationen ungefär såhär:

Januari
-------
Datum = 2010-01-**

Februari
--------
Datum = 2010-02-**

Men självklart ska den dölja "föregående" datum som passerat.

Min fråga är huvudsakligen : Hur gör jag?
Uppdelat är frågan, kan jag använda min datum sträng ( som sparas genom date("Y-m-d") ( ex 2010-01-01 ) ...
Kan jag korta av strängen när jag söker, eller ska jag göra en kolumn som bara sparar månad?

SPiNMedlem sedan mars 20007 896 inlägg
#2

Du kan använda date_format() för att enbart jämföra år och månad;

select
    *
from
    tbl
where
    date_format(datum_fält, '%Y-%m')='2010-01'
SoulGodMedlem sedan aug. 20051 200 inlägg
#3

Höll precis på att köra edit på mitt inlägg när du skrev :P

Jag löste det såhär:
$ar = substr($row['datum'], 0, 4);
$man = substr($row['datum'], 5, 2);

Men frågan är hur jag ska kunna göra olika listor för olika månader,
och ändå visa dom på rad, utan att behöva ha olika SQL satser.

Kanske blir tvungen att ha olika SQL satser?

131 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)