Avatar billede hanne_e Nybegynder
30. november 2004 - 19:21 Der er 4 kommentarer og
1 løsning

kalender skal vise uger i stedet for måned

Kære eksperter

Jeg har brug for lidt hjælp med dette skema. Følgende script viser en kalender, der genererer datoer for en måned (jeg har ikke medtaget koden for at vise næste måned mm., da det fylder en del).

Sagen er den, at jeg gerne vil have den til at vise en uge ad gangen - men kun hverdagene. Første kolonne skal altså være ugenr., derefter skal der være en kolonne til tidspunkter og derefter skal hverdagene følge.

I den foreløbige version er der blanke felter eksempelvis hvis den første er en onsdag - det er ønsket, at den ny udgave ignorerer, om der er tale om en ny måned. (altså fortløbende)

Jeg har set at man i php 4 kan bruge W (som skulle være en iso-standard for ugenummeret), men aner ikke i hvilken sammenhæng den skal bruges...

Jeg har sat pointtallet højt og håber derfor på gode pædagogiske forklaringer... (Helst ikke links til php.net osv. - dem kan jeg åbenbart ikke fatte...)

<?

define("ADAY", (60*60*24));

if (!checkdate($_POST[month], 1, $_POST[year])){
    $nowArray=getdate();
    $month=$nowArray['mon'];
    $year=$nowArray['year'];
}else{
    $month=$_POST['month'];
    $year=$_POST['year'];
}

$start=mktime(12, 0, 0, $month, 1, $year);
$firstDayArray=getdate($start);
?>
    <html>
        <head>
            <title>Kalender</title>
        </head>
        <body>
        <h1>Skema</h1>
<?
$days=Array("Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag");
echo "<table border=\"1\" cellpadding=\"5\">\n";

foreach ($days as $day){
    echo "\t<td><b>$day</b></td>\n";
}

for ($count=0; $count<(6*7); $count++){
    $dayArray=getdate($start);
    if (($count % 7)==0){
        if ($dayArray['mon'] != $month){
            break;
        }else{
            echo "</tr><tr>\n";
        }
    }

    if ($count < $firstDayArray['wday'] || $dayArray['mon'] != $month){
        echo "\t<td><br></td>\n";
    }else{
        echo "\t<td>".$dayArray['mday']." &nbsp; &nbsp; </td>\n";
        $start += ADAY;
    }
}
echo "</tr></table>";
?>

        </body>
    </html>
Avatar billede hanne_e Nybegynder
01. december 2004 - 13:27 #1
Mon der skal flere points på bordet?
Hvordan håndterer jeg det? Nedlægger spørgsmålet og opretter nyt med flere points?
Avatar billede dotcom1 Nybegynder
01. december 2004 - 13:30 #2
Kig i menuen øverst til venstre. Der skulle være en mulighed for at forhøje points.
Avatar billede hanne_e Nybegynder
01. december 2004 - 16:56 #3
tak for tippet! det prøver jeg.
Avatar billede hanne_e Nybegynder
02. december 2004 - 00:05 #4
Måske jeg skulle tynde ud i spørgsmålet? Det vrimler ikke ligefrem med kommentarer...
Avatar billede hanne_e Nybegynder
02. december 2004 - 00:45 #5
Jeps - jeg poster en forenklet udgave i stedet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester