help in php calendar ??
Posted: Sun Feb 18, 2007 4:40 am
I am using this code for php calendar which is downloaed from http://www.drquincy.com
I am using this calendar for the hotel booking system .
The features to be added in the above calendar:
I have to show those days of the month colorful(say orange) for those which have been booked but not processed and say red for those which have been processed by the admin as
problem:
suppose for the selected calendar, i have to show the colorful cells using database
my database table is:
booking
id | booker_id | place | booking_from | booking_to | status
Note: booking_from and booking_to field are in YY-MM-DD format..
My problem is how to perform the required query to find the particular day is in the range of booking or not , if is in booking range then change the cell color else show the default color.
Or do i have to use the other concept ..if yes please help
I am waiting for your Help. I would be very greatful if i got my problem solved..
Thanks in advance to all of you..
Code: Select all
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Calendar</title>
<style type="text/css" media="all">
body {
background-color: #2A2A2A;
color: #EEEEEE;
font-family: Tahoma, Verdana, sans-serif;
font-size: 10px;
}
table {
width: 125px;
}
td {
padding: 1px;
border: 1px solid #666666;
text-align: center;
}
</style>
</head>
<body>
<?php
// get this month and this years as an int
$thismonth = ( int ) date( "m" );
$thisyear = date( "Y" );
// find out the number of days in the month
$numdaysinmonth = cal_days_in_month( CAL_GREGORIAN, $thismonth, $thisyear );
// create a calendar object
$jd = cal_to_jd( CAL_GREGORIAN, date( "m" ),date( 1 ), date( "Y" ) );
// get the start day as an int (0 = Sunday, 1 = Monday, etc)
$startday = jddayofweek( $jd , 0 );
// get the month as a name
$monthname = jdmonthname( $jd, 1 )
?>
<table>
<tr>
<td colspan="7"><div align="center"><strong><?= $monthname ?></strong></div></td>
</tr>
<tr>
<td><strong>S</strong></td>
<td><strong>M</strong></td>
<td><strong>T</strong></td>
<td><strong>W</strong></td>
<td><strong>T</strong></td>
<td><strong>F</strong></td>
<td><strong>S</strong></td>
</tr>
<tr>
<?php
// put render empty cells
$emptycells = 0;
for( $counter = 0; $counter < $startday; $counter ++ ) {
echo "\t\t<td>-</td>\n";
$emptycells ++;
}
// renders the days
$rowcounter = $emptycells;
$numinrow = 7;
for( $counter = 1; $counter <= $numdaysinmonth; $counter ++ ) {
$rowcounter ++;
echo "\t\t<td>$counter</td>\n";
if( $rowcounter % $numinrow == 0 ) {
echo "\t</tr>\n";
if( $counter < $numdaysinmonth ) {
echo "\t<tr>\n";
}
$rowcounter = 0;
}
}
// clean up
$numcellsleft = $numinrow - $rowcounter;
if( $numcellsleft != $numinrow ) {
for( $counter = 0; $counter < $numcellsleft; $counter ++ ) {
echo "\t\t<td>-</td>\n";
$emptycells ++;
}
}
?>
</tr>
</table>
</body>
</html>The features to be added in the above calendar:
I have to show those days of the month colorful(say orange) for those which have been booked but not processed and say red for those which have been processed by the admin as
problem:
suppose for the selected calendar, i have to show the colorful cells using database
my database table is:
booking
id | booker_id | place | booking_from | booking_to | status
Note: booking_from and booking_to field are in YY-MM-DD format..
My problem is how to perform the required query to find the particular day is in the range of booking or not , if is in booking range then change the cell color else show the default color.
Or do i have to use the other concept ..if yes please help
I am waiting for your Help. I would be very greatful if i got my problem solved..
Thanks in advance to all of you..