Today's Date

Discussion in 'PHP' started by zed420, Aug 3, 2009.

  1. #1
    Hi All
    I've taken this simple calendar from net I'm trying to highlight Today’s date I can NOT seem to work it out. Some help will be greatly appreciated. Thanks
    Zed
    <?php
    
      $monthNames = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    	if (!isset($_REQUEST["month"])) $_REQUEST["month"] = date("n");
    	if (!isset($_REQUEST["year"]))  $_REQUEST["year"]  = date("Y");
    	
      $cMonth = $_REQUEST["month"];
      $cYear  = $_REQUEST["year"];
                    
      $prev_year = $cYear;
      $next_year = $cYear;
    
     	$prev_month = $cMonth-1;
     	$next_month = $cMonth+1;
    
     	if ($prev_month == 0 ) {
        $prev_month = 12;
        $prev_year = $cYear - 1;
      }
     	if ($next_month == 13 ) {
        $next_month = 1;
        $next_year = $cYear + 1;
      }
    ?>
       <div id="calendar_div" name="calendar_div">
        <table width="400">
            <tr align="center">
              <td bgcolor="#999999" style="color:#FFFFFF">
                	<table width="100%" border="0" cellspacing="0" cellpadding="0">
                        <tr>
                          <td width="50%" align="left">&nbsp;&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $prev_month . "&year=" . $prev_year; ?>" style="color:#FFFFFF">Previous</a></td>
                          <td width="50%" align="right"><a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $next_month . "&year=" . $next_year; ?>" style="color:#FFFFFF">Next</a>&nbsp;&nbsp;</td>
                        </tr>
                  </table>
              </td>
            </tr>
            <tr>
                <td align="center">
                  <table width="100%" border="0" cellpadding="2" cellspacing="2">
                    <tr align="center">
                      <td colspan="7" bgcolor="#999999" style="color:#FFFFFF"><strong><?php echo $monthNames[$cMonth-1].' '.$cYear; ?></strong></td>
                    </tr>
                    <tr>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>S</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>M</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>T</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>W</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>T</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>F</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>S</strong></td>
                    </tr>
    
    			 <?php 
    					$timestamp = mktime(0,0,0,$cMonth,1,$cYear);
                    	$maxday    = date("t",$timestamp);
                    	$thismonth = getdate ($timestamp);
                    	$startday  = $thismonth['wday'];
    
                      for ($i=0; $i<($maxday+$startday); $i++) {
                        if(($i % 7) == 0 ) echo "<tr>\n";
                        if($i < $startday) echo "<td></td>\n";
       else echo "<td align='center' valign='middle' height='20px'>
       <a href=\"test.php\" STYLE=\"TEXT-DECORATION: NONE\">". ($i - $startday + 1) . "</td>\n";
                        if(($i % 7) == 6 ) echo "</tr>\n";
                      } 
    				  
                     ?>
                  </table>
                </td>
            </tr>
        </table>
    </div>
    Code (markup):

     
    zed420, Aug 3, 2009 IP
  2. premiumscripts

    premiumscripts Peon

    Messages:
    1,062
    Likes Received:
    48
    Best Answers:
    0
    Trophy Points:
    0
    #2
    I've changed the script for you and it should now work:

    <?php
    
      $monthNames = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    	if (!isset($_REQUEST["month"])) $_REQUEST["month"] = date("n");
    	if (!isset($_REQUEST["year"]))  $_REQUEST["year"]  = date("Y");
    	
      $cMonth = $_REQUEST["month"];
      $cYear  = $_REQUEST["year"];
                    
      $prev_year = $cYear;
      $next_year = $cYear;
    
     	$prev_month = $cMonth-1;
     	$next_month = $cMonth+1;
    
     	if ($prev_month == 0 ) {
        $prev_month = 12;
        $prev_year = $cYear - 1;
      }
     	if ($next_month == 13 ) {
        $next_month = 1;
        $next_year = $cYear + 1;
      }
    
      if ($cMonth == date('n') && $cYear == date('Y')) {
    	$highlightDay = date('j');
      } else {
    	$highlightDay = 0;
      }
    ?>
       <div id="calendar_div" name="calendar_div">
        <table width="400">
            <tr align="center">
              <td bgcolor="#999999" style="color:#FFFFFF">
                	<table width="100%" border="0" cellspacing="0" cellpadding="0">
                        <tr>
                          <td width="50%" align="left">&nbsp;&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $prev_month . "&year=" . $prev_year; ?>" style="color:#FFFFFF">Previous</a></td>
                          <td width="50%" align="right"><a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $next_month . "&year=" . $next_year; ?>" style="color:#FFFFFF">Next</a>&nbsp;&nbsp;</td>
                        </tr>
                  </table>
              </td>
            </tr>
            <tr>
                <td align="center">
                  <table width="100%" border="0" cellpadding="2" cellspacing="2">
                    <tr align="center">
                      <td colspan="7" bgcolor="#999999" style="color:#FFFFFF"><strong><?php echo $monthNames[$cMonth-1].' '.$cYear; ?></strong></td>
                    </tr>
                    <tr>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>S</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>M</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>T</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>W</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>T</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>F</strong></td>
                      <td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>S</strong></td>
                    </tr>
    
    			 <?php 
    					$timestamp = mktime(0,0,0,$cMonth,1,$cYear);
                    	$maxday    = date("t",$timestamp);
                    	$thismonth = getdate ($timestamp);
                    	$startday  = $thismonth['wday'];
    
                      for ($i=0; $i<($maxday+$startday); $i++) {
    					$day = ($i-$startday+1);
                        if(($i % 7) == 0 ) echo "<tr>\n";
                        if($i < $startday) echo "<td></td>\n";
       else echo "<td align='center' valign='middle' height='20px'>
       <a href=\"test.php\" STYLE=\"TEXT-DECORATION: NONE" . ($day == $highlightDay ? ";background:yellow;" : "") . "\">". ($day) . "</td>\n";
                        if(($i % 7) == 6 ) echo "</tr>\n";
                      } 
    				  
                     ?>
                  </table>
                </td>
            </tr>
        </table>
    </div>
    PHP:
     
    premiumscripts, Aug 3, 2009 IP
  3. zed420

    zed420 Member

    Messages:
    60
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    41
    #3
    Thank you premiumscripts that was a great help

    Zed
     
    zed420, Aug 3, 2009 IP