Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: HTML PHP Ajax jQuery
Hi All,
 
I need your help. I want to build a calendar agenda. I've found a script and modified for include database function.
This is calendar.php
<?php
include "connection.php";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Agenda</title>
</head>
<body>
 
<?php
$monthNames = Array("January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December");
?>
<?php
if (!isset($_REQUEST["month"])) $_REQUEST["month"] = date("n");
if (!isset($_REQUEST["year"])) $_REQUEST["year"] = date("Y");
?>
<?php
$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;
}
?>
<table width="200">
<tr align="center">
<td bgcolor="#999999" style="color:#FFFFFF">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" align="left"><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></td>
</tr>
</table>
</td>
</tr>
</table>
<tr>
<td align="center">
<table width="100%" border="0" cellpadding="2" cellspacing="2">
<tr align="center">
<td colspan="7" bgcolor="#999999" style="color:#FFFFFF"><?php echo $monthNames[$cMonth-1].' '.$cYear; ?></td>
</tr>
<tr>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">S</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">M</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">T</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">W</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">T</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">F</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">S</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 "";
	}
	if($i < $startday)
	{
		echo "<td></td>\n";
	}else
	{
		$sql = "select * from data_agenda where tgl_agenda='".($i - $startday + 1).'-'.$cMonth.'-'.$cYear."'";
		$hs = mysql_query($sql);
		$jmlAcara = mysql_num_rows($hs);
		echo "<td align='center' valign='middle' height='20px'".($jmlAcara > 0 ? " bgcolor='yellow'" : '').">";
		echo "<a href=2.php?tgl=".urlencode($i - $startday + 1)."  önclick=\"window.open(this.href,'window','width=640,height=480,resizable,scrollbars,toolbar,menubar') ;return false;\">".($i - $startday + 1)."</a><br>";
 
		echo "</td>\n";
	}
	if(($i % 7) == 6 )
	{
		echo "</tr>\n";
	}
}
?>
 
After doing some review, I've got a problem. When user A insert new agenda, user B must refresh it manually to see the changes. So I'm using auto refresh div ajax and split the code above into two parts. The first is for calendar and the second is for database. But there's some error with the date doesn't show properly.
Here's the calendar code after divided into two parts.
cal.php
<?php
include "file_koneksi.php";
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
	<script type="text/javascript">
    $(document).ready(function() {
    $.ajaxSetup({ cache: false }); // This part addresses an IE bug. without it, IE will only load the first number and will never 
    setInterval(function() {
    $('#result').load('3.php');
    }, 100); // the "3000" here refers to the time to refresh the div. it is in milliseconds.
    });
</script>
<?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;
    }
?>
<table width="200">
    <tr align="center">
    <td bgcolor="#999999" style="color:#FFFFFF">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="50%" align="left"><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></td>
    </tr>
    </table>
    </td>
    </tr>
	</table>
 
<table width="100%" border="1" cellpadding="2" cellspacing="2">
<tr align="center">
<td colspan="7" bgcolor="#999999" style="color:#FFFFFF"><?php echo $monthNames[$cMonth-1].' '.$cYear; ?></td>
</tr>
<tr>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">S</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">M</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">T</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">W</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">T</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">F</td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF">S</td>
</tr>
</table>
<div id="result">
</table>
</td>
</tr>
</table>
 
And here's the database code
3.php
include "file_koneksi.php";
echo"<table>";
$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++) 
{
	//echo "($maxday+$startday)";	
	//echo "<a href=2.php>".$i."</a><br>";
	if(($i % 7) == 0 ) 
	{
		echo "";
    }
	if($i < $startday) 
	{
		echo "<td></td>\n";
 
    }else 
	{
		$sql = "select * from data_agenda where tgl_agenda='".($i - $startday + 1).'-'.$cMonth.'-'.$cYear."'";
		$hs = mysql_query($sql);
		$jmlAcara = mysql_num_rows($hs);
		echo "<td align='center' valign='middle' height='20px'".($jmlAcara > 0 ? " bgcolor='yellow'" : '').">";
		echo "<a href=2.php?tgl=".urlencode($i - $startday + 1)."&month=".urlencode($monthNames[$cMonth-1])."  önclick=\"window.open(this.href,'window','width=640,height=480,resizable,scrollbars,toolbar,menubar') ;return false;\">".($i - $startday + 1)."</a><br>";
		echo "</td>\n";
		//echo "$cMonth";
	}
}
?>
 
Am I wrong on divided the first script or in put div id ?
 
Thank you..
 
Regards,
Ikram
Posted 21-Jan-13 21:22pm
ertiga302

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 299
1 Maciej Los 295
2 Sergey Alexandrovich Kryukov 205
3 Aajmot Sk 202
4 Sinisa Hajnal 166
0 OriginalGriff 7,760
1 Sergey Alexandrovich Kryukov 7,072
2 DamithSL 5,604
3 Manas Bhardwaj 4,986
4 Maciej Los 4,785


Advertise | Privacy | Mobile
Web01 | 2.8.1411023.1 | Last Updated 22 Jan 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100