/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Kalender -- Hvordan?
Fra : Brian Emilius


Dato : 29-10-03 21:24

Hej NG

Er der mon nogen der har en ide til hvordan jeg udskriver datoer som en
med et kalender-lign. layout?

a la:

Man Tirs Ons Tors Fre Lør Søn
1 2 3 4 5 6 7
8 9 10 11 12 13 osv...

Det ville være smartest med en tabel, men jeg er fuldstændig blank over
hvad søren jeg skal gøre...
Kunne man evt blande lidt MySQL ind i det?

Venlig hilsen
Brian Emilius

 
 
Thomas Lindgaard (30-10-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 30-10-03 17:35

Davs

> Er der mon nogen der har en ide til hvordan jeg udskriver datoer som en
> med et kalender-lign. layout?

Det er der garanteret...

> Det ville være smartest med en tabel, men jeg er fuldstændig blank over
> hvad søren jeg skal gøre...

Jeg legede engang for efterhånden længe siden med noget kalenderværk. Det
kan sikkert gøres smartere men koden her virker i hvert fald:

<?php
/**
* Code for setting up the calendar for a month
*/

if ( !isset($_GET['month']) || ( $_GET['month'] < 1 ) || ( $_GET['month'] >
12 ) || ( $_GET['month'] == '' ) ) $_GET['month'] = date('m');
if ( !isset($_GET['year']) || ( $_GET['year'] < 1972 ) || ( $_GET['year'] >
2036 ) || ( $_GET['year'] == '' ) ) $_GET['year'] = date('Y');

$timestamp = mktime(0, 0, 0, $_GET['month'], 1, $_GET['year']);
$first_day_of_month = date('D', $timestamp);
$num_days_in_month = date('t', $timestamp);
$weekdays = array(1 => 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun');

$prev_month = ( $_GET['month'] == 1 ) ? 12 : $_GET['month'] - 1;
$prev_year = ( $prev_month == 12 ) ? $_GET['year'] - 1 : $_GET['year'];
$next_month = ( $_GET['month'] == 12 ) ? 1 : $_GET['month'] + 1;
$next_year = ( $next_month == 1 ) ? $_GET['year'] + 1 : $_GET['year'];

print '<pre>'."\n";
print '<a
href="?month='.$prev_month.'&year='.$prev_year.'">&lt;&lt;'.date('M',
strtotime('-1 month', $timestamp)).'</a>'.
' '.date('M Y', $timestamp).' '.
'<a href="?month='.$next_month.'&year='.$next_year.'">'.date('M',
strtotime('+1 month', $timestamp)).'&gt;&gt;</a>'."\n";
print implode(' ', $weekdays)."\n";
$current_day = 1;
while ( $current_day <= $num_days_in_month )
{
foreach ($weekdays as $index => $day)
{
if ( ( $current_day == 1 ) && ( $day != $first_day_of_month ) )
{
print ' ';
}
else
{
printf('%3s ', ( $current_day <= $num_days_in_month ) ? $current_day :
'');
$current_day++;
}
}
print "\n";
}
print '</pre>';

print "<hr>";
show_source(__FILE__);

?>

> Kunne man evt blande lidt MySQL ind i det?

Det kan man da godt, hvis man har den slags lyster.

Hyggehej
/Thomas



Allan (02-11-2003)
Kommentar
Fra : Allan


Dato : 02-11-03 19:29

Jeg har prøvet din kalender. Super

Under førsøget på at skrive ugedagene på dansk, løb jeg ind i et problem.
Jeg kan ændre alle ugedage til dansk....men det går galt når jeg vil ændre
Sat til Lør....hvad skyldes det??




"Thomas Lindgaard" <thomas@it-snedkeren.BLACK_HOLE.dk> skrev i en meddelelse
news:bnreit$kbg$1@sunsite.dk...
> Davs
>
> > Er der mon nogen der har en ide til hvordan jeg udskriver datoer som en
> > med et kalender-lign. layout?
>
> Det er der garanteret...
>
> > Det ville være smartest med en tabel, men jeg er fuldstændig blank over
> > hvad søren jeg skal gøre...
>
> Jeg legede engang for efterhånden længe siden med noget kalenderværk. Det
> kan sikkert gøres smartere men koden her virker i hvert fald:
>
> <?php
> /**
> * Code for setting up the calendar for a month
> */
>
> if ( !isset($_GET['month']) || ( $_GET['month'] < 1 ) || ( $_GET['month']
>
> 12 ) || ( $_GET['month'] == '' ) ) $_GET['month'] = date('m');
> if ( !isset($_GET['year']) || ( $_GET['year'] < 1972 ) || ( $_GET['year']
>
> 2036 ) || ( $_GET['year'] == '' ) ) $_GET['year'] = date('Y');
>
> $timestamp = mktime(0, 0, 0, $_GET['month'], 1, $_GET['year']);
> $first_day_of_month = date('D', $timestamp);
> $num_days_in_month = date('t', $timestamp);
> $weekdays = array(1 => 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun');
>
> $prev_month = ( $_GET['month'] == 1 ) ? 12 : $_GET['month'] - 1;
> $prev_year = ( $prev_month == 12 ) ? $_GET['year'] - 1 : $_GET['year'];
> $next_month = ( $_GET['month'] == 12 ) ? 1 : $_GET['month'] + 1;
> $next_year = ( $next_month == 1 ) ? $_GET['year'] + 1 : $_GET['year'];
>
> print '<pre>'."\n";
> print '<a
> href="?month='.$prev_month.'&year='.$prev_year.'">&lt;&lt;'.date('M',
> strtotime('-1 month', $timestamp)).'</a>'.
> ' '.date('M Y', $timestamp).' '.
> '<a href="?month='.$next_month.'&year='.$next_year.'">'.date('M',
> strtotime('+1 month', $timestamp)).'&gt;&gt;</a>'."\n";
> print implode(' ', $weekdays)."\n";
> $current_day = 1;
> while ( $current_day <= $num_days_in_month )
> {
> foreach ($weekdays as $index => $day)
> {
> if ( ( $current_day == 1 ) && ( $day != $first_day_of_month ) )
> {
> print ' ';
> }
> else
> {
> printf('%3s ', ( $current_day <= $num_days_in_month ) ? $current_day :
> '');
> $current_day++;
> }
> }
> print "\n";
> }
> print '</pre>';
>
> print "<hr>";
> show_source(__FILE__);
>
> ?>
>
> > Kunne man evt blande lidt MySQL ind i det?
>
> Det kan man da godt, hvis man har den slags lyster.
>
> Hyggehej
> /Thomas
>
>



Daniel Udsen (02-11-2003)
Kommentar
Fra : Daniel Udsen


Dato : 02-11-03 23:32

Allan wrote:

> Jeg har prøvet din kalender. Super
>
> Under førsøget på at skrive ugedagene på dansk, løb jeg ind i et
> problem. Jeg kan ændre alle ugedage til dansk....men det går galt når
> jeg vil ændre Sat til Lør....hvad skyldes det??

sun til Søn burde også give problemet. PHP parseren er vist ikke glad
for æøå, hvis det html du udskriver så prøv med
http://werbach.com/barebones/dk_barebone.html#special istedet for
weblæseren burde oversætte det til æøå.

--
Daniel Udsen
Sacred cows make great hamburgers.

Allan (03-11-2003)
Kommentar
Fra : Allan


Dato : 03-11-03 10:05

Har prøvet at skrive Lør med special tegn....men det hjælper ikke......der
er ikke problemer med at ændre Sun til Søn.

Den udskriver: man tir ons tor fre ... søn korrekt, men når jeg ændre sat
til lør, så kommer problemet.....har kigget koden igennem og kan ikke se at
ordet "sat" som ugedag bliver brugt i koden nogle steder....hvad kan det så
skyldes??


"Daniel Udsen" <dudsen@koen.dk.indvalid> skrev i en meddelelse
news:bo40mp$fhu$1@sunsite.dk...
> Allan wrote:
>
> > Jeg har prøvet din kalender. Super
> >
> > Under førsøget på at skrive ugedagene på dansk, løb jeg ind i et
> > problem. Jeg kan ændre alle ugedage til dansk....men det går galt når
> > jeg vil ændre Sat til Lør....hvad skyldes det??
>
> sun til Søn burde også give problemet. PHP parseren er vist ikke glad
> for æøå, hvis det html du udskriver så prøv med
> http://werbach.com/barebones/dk_barebone.html#special istedet for
> weblæseren burde oversætte det til æøå.
>
> --
> Daniel Udsen
> Sacred cows make great hamburgers.



Jesper Brunholm (03-11-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 03-11-03 11:04



Allan wrote:
> Har prøvet at skrive Lør med special tegn....men det hjælper ikke......der
> er ikke problemer med at ændre Sun til Søn.
>
> Den udskriver: man tir ons tor fre ... søn korrekt, men når jeg ændre sat
> til lør, så kommer problemet.....har kigget koden igennem og kan ikke se at
> ordet "sat" som ugedag bliver brugt i koden nogle steder....hvad kan det så
> skyldes??

Jeg har altså ikke løbet hele koden igennem for at fejlfinde på den, men
kan du ikke simpelt hen lade den beholde de engelske betegnelser indtil
det skal du på siden, hvor du så kører en strtr() til at få de danske
ugedagsbetegnelser ind?

Jeg ville opbygge et system med timestamps, strftime(), mysql og phps
datofunktioner. Du kan garanteret finde et på hotscripts at lure i hvis
du har brug for det, men begynd med manualen og et ark papir at lave
koncept på...

mvh

Jesper Brunholm
--
Phønix - dansk folk-musik i front - <http://www.phonixfolk.dk/>
H.C. Andersen-Centret: <http://www.andersen.sdu.dk/>
Vi har killinger på Garion.dk: <http://garion.dk/>

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste