webForumDet fria alternativet

År / Månadsnavigering

11 svar · 603 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#1

Hej svejs,

Jag vill skriva ut detta:

2008
   Juni
   Maj
   April
   Mars
   Februari
   Januari

2007
   December
   November
   ...

Från aktuell månad och 23 månader bakåt.
Det har rört ihop sig lite i huvudet och kommer inte på någon bra lösning på mitt problem.

Någon som har tips?

Tack!

HiDensityMedlem sedan dec. 20051 420 inlägg
#2

date

MickeA.comMedlem sedan feb. 20034 441 inlägg
#3

HiDensity skrev:

date

Ja, men nu är det själva loopen jag inte vet hur den ska se ut...

metalboyMedlem sedan jan. 2005953 inlägg
#4

Ett exempel:

<?php
$year = '';
$months = array('Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','November','December');
for ($i = 0; $i <= 23; $i++) {
	$time = strtotime("-$i months");
	if (date('Y', $time) != $year) {
		$year = date('Y', $time);
		echo '<br /><strong>' . $year . '</strong><br />';
	}
	echo $months[date('n', $time)-1] . '<br />';
}
?>
MickeA.comMedlem sedan feb. 20034 441 inlägg
#5

Edit: det funkar fint, tack!

metalboyMedlem sedan jan. 2005953 inlägg
#6

Edit: Du hann redigera :)

MickeA.comMedlem sedan feb. 20034 441 inlägg
#7

Skiljer det sig om man kör ' eller " i array'en?
Jag hade nämligen en array med alla månader i min "funcs" fil, och då skrevs resultatet ut sådär konstigt.

Beror det på "?

metalboyMedlem sedan jan. 2005953 inlägg
#8

Det ska inte ha någon betydelse.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#9

Skumt, för det var det enda jag ändrade...

Men det funkar ju nu iaf och det är det viktiga!

MickeA.comMedlem sedan feb. 20034 441 inlägg
#10

Hmm, koden skriver inte ut Februari, utan "Mars" två gånger.
Vad kan det bero på?

Verkar lite märkligt, det är bara på Feb. som detta sker.

metalboyMedlem sedan jan. 2005953 inlägg
#11

Hmm... beror nog på vilken dag i månaden vi är på. Om det, som idag, är den 30:e så finns det ju inte 30 dagar i februari. Lösning:

Lägg till

$first_this_month = date('Y-m-01');

före loopen och ändra strtotime-raden till

    $time = strtotime("$first_this_month -$i months");
MickeA.comMedlem sedan feb. 20034 441 inlägg
#12

Yes, funkar fint nu, tack!
Ang ' eller " i min array så berodde felet på en helt annan grej, där jag hade gjort fel.

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