I am about to start my final year project, my project is about "Online Appointment Booking System".
I started by displaying calendar, but i have a problem displaying the calendar "WEEKLY".
i want to calendar to show current week, if possible a button that allow user to view next week and previews week. i will really appreciate any help.

you can simply access the current day with the date-function. I think it's date("D") for the name of the day. As today is sunday you now that the 20th was monday, 27th is the next monday and so on.

thanks sdjh, the current code i have is

<?php
function showCalendar(){
    // Get key day informations.
    // We need the first and last day of the month and the actual day
    $today    = getdate();
    $firstDay = getdate(mktime(0,0,0,$today['mon'],1,$today['year']));
    $lastDay  = getdate(mktime(0,0,0,$today['mon']+1,0,$today['year']));


    // Create a table with the necessary header informations
    echo '<table>';
    echo '  <tr><th colspan="7">'.$today['month']." - ".$today['year']."</th></tr>";
    echo '<tr class="days">';
    echo '  <td>Mo</td><td>Tu</td><td>We</td><td>Th</td>';
    echo '  <td>Fr</td><td>Sa</td><td>Su</td></tr>';


    // Display the first calendar row with correct positioning
    echo '<tr>';
    for($i=1;$i<$firstDay['wday'];$i++){
        echo '<td>&nbsp;</td>';
    }
    $actday = 0;
    for($i=$firstDay['wday'];$i<=7;$i++){
        $actday++;
        if ($actday == $today['mday']) {
            $class = ' class="actday"';
        } else {
            $class = '';
        }
        echo "<td$class>$actday</td>";
    }
    echo '</tr>';

    //Get how many complete weeks are in the actual month
    $fullWeeks = floor(($lastDay['mday']-$actday)/7);

    for ($i=0;$i<$fullWeeks;$i++){
        echo '<tr>';
        for ($j=0;$j<7;$j++){
            $actday++;
            if ($actday == $today['mday']) {
                $class = ' class="actday"';
            } else {
                $class = '';
            }
            echo "<td$class>$actday</td>";
        }
        echo '</tr>';
    }

    //Now display the rest of the month
    if ($actday <$lastDay['mday']){
        echo '<tr>';

        for ($i=0; $i<7;$i++){
            $actday++;
            if ($actday == $today['mday']) {
                $class = ' class="actday"';
            } else {
                $class = '';
            }

            if ($actday <= $lastDay['mday']){
                echo "<td$class>$actday</td>";
            }
            else {
                echo '<td>&nbsp;</td>';
            }
        }


        echo '</tr>';


    }

    echo '</table>';
}

showCalendar();

The above code display the whole calendar, i need it to display one week (current week) i.e the first row, then they should be be two buttons that allow you to choose next and preview weeks respectively.

Help me out please, anyone

Edited 3 Years Ago by Nick Evan: Fixed formatting

This article has been dead for over six months. Start a new discussion instead.