26. september 2003 - 10:01
Der er
3 kommentarer og
1 løsning
Månedsoversigt - kalenderspørgsmål
Er der nogen der kan guide mig i gang med links eller konkrete eksempler på en månedsoversigt?
Det jeg gerne vil vise på siden er: månedens navn, ugenummer og de enkelte dage. Og i den avancerede funktion skal man kunne klikke på en "sidste måned" og "Næste måned". Kan det lade sig gøre, uden at man skal ud i nogle af de større og mere komplekse kalenderløsninger på fx Hotscripts?
26. september 2003 - 13:17
#2
define ('ADAY', (60*60*24));
$datearray = getdate();
if ( $month=="")
$month = $datearray['mon'];
if ( $year=="")
$year = $datearray['year'];
$start= mktime(0,0,0,$month,1,$year);
$firstdayarray = getdate($start);
$months = Array('January','February','March','April','May','June',
'July','August','September','October','November','December');
$days = Array('Ma','Tu','We','Th','Fr','Sa','Su');
$print_month = $months[$month-1];
if ( $month == 12)
{
$nextmonth = 1;
$nextyear = $year+1;
$previousmonth = $month-1;
$previousyear = $year;
}
elseif ( $month == 1)
{
$previousmonth = 12;
$previousyear = $year-1;
$nextmonth = $month+1;
$nextyear = $year;
}
else
{
$previousmonth = $month-1;
$previousyear = $year;
$nextmonth = $month+1;
$nextyear = $year;
}
echo "<table cellSpacing=0 cellPadding=0 width='100%' border=0>
<tr><td align=left><a href='?month=$previousmonth&year=$previousyear'><<</a></td>
<td align=center>$print_month $year</td>
<td align=right><a href='?month=$nextmonth&year=$nextyear'>>></a></td></tr>
<tr><td colspan=3><table cellSpacing=0 cellPadding=0 width='100%' border=0><tr>\n";
foreach($days as $day)
echo "<td align=center>$day</td>\n";
echo "</tr><tr>\n";
for( $count=0;$count<(6*7);$count++)
{
$dayarray = getdate($start);
if((($count) % 7) == 0)
{
echo "</tr><tr>";
}
if($count < ($firstdayarray['wday']-1) || $dayarray['mon'] != $month)
{
echo "<td></td>";
}
else
{
if($dayarray['mday'] == $datearray['mday'] AND $firstdayarray['mon'] == $datearray['mon'])
{
echo "<td align=center>$dayarray[mday]</td>\n";
$start += ADAY;
}
else
{
echo "<td align=center>$dayarray[mday]</td>\n";
$start += ADAY;
}
}
}
echo "</tr></table>\n</table>\n\n";
26. september 2003 - 14:45
#3
Schaefners forslag er nærmest det jeg kan bruge.
>> schaefner: ved du, hvordan jeg ændre løkken så dagene ikke listes horisontalt, men vertikalt hele måneden igennem?
Altså ikke: man - tirs - ons - tors - fre - lør - søn
Men:
man
tirs
ons
tors
fre
lør
søn
man
tirs
ons
tors
fre
lør
søn
man
tirs
ons
tors
fre
lør
søn
man
tirs
ons
tors
fre
lør
søn
og så videre...