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 Kornfeld Eliyahu Peter 275
1 Maciej Los 204
2 Sergey Alexandrovich Kryukov 200
3 King Fisher 185
4 OriginalGriff 183
0 OriginalGriff 6,223
1 DamithSL 4,724
2 Maciej Los 4,196
3 Kornfeld Eliyahu Peter 3,894
4 Sergey Alexandrovich Kryukov 3,496


Advertise | Privacy | Mobile
Web03 | 2.8.141220.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