june_c21 Posted March 16, 2008 Share Posted March 16, 2008 hi, i had made this event calendar but the problem is how to link the date (user input) to the calendar table. So when user click on the date, it will list down the event. here is my code <?php $host = 'localhost'; $user = 'root'; $password = ''; $dbase = 'calendars'; $dblink = mysql_connect($host,$user,$password); mysql_select_db($dbase,$dblink); $m = (!$m) ? date("m",mktime()) : "$m"; $y = (!$y) ? date("Y",mktime()) : "$y"; if ($_SERVER['REQUEST_METHOD'] == "POST") { $eventdate = $_POST['eventdate']; $event = $_POST['event']; $staff_no = $_POST['staff_no']; $query= "INSERT INTO calendars( event,eventdate,staff_no) VALUES ('$event','$eventdate','$staff_no') "; $result = mysql_query($query,$dblink); echo "<br />"; echo "<h2>Staff Attendance</h2>"; // echo "This is a demo. We are not saving the event to the calendar, but you could.<br /><br />"; // echo "We are demo-ing building the calendar, and interacting with it.<br /><br />"; echo "<b>Staff No : </b> $staff_no </br>"; echo "<b>Event:</b> $event<br />"; echo "<b>Date:</b> $eventdate<br />"; echo "</br>"; echo "</br>"; echo "<a href =calendar.php> Home </a>"; exit(); } ?> <html> <head> <title>Staff Attendance</title> </head> <body bgcolor="#FFFFFF" link="#0000CC" vlink="#0000CC"> <h2>KEV Staff Attendance</h2> <blockquote> <table> <tr> <td valign="top"><?php mk_drawCalendar($_GET['m'],$_GET['y']); ?></td> <td width="25" nowrap><br /></td> <form name="f" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> <table cellpadding="0" cellspacing="0" border="0" bgcolor="#000000"><tr><td> <table cellpadding="4" cellspacing="1" border="0 "bgcolor="#FFFFFF"> <tr><td colspan="2" bgcolor="#000000"><font size="+1" color="#FFFFFF"><b>Add New Event</b></font></td></tr> <tr><td><b>Staff No :</b></td><td><input type="text" name="staff_no" size="10" maxlength="10"></td></tr> <tr><td><b>Event Date: </b></td><td><input type="text" name="eventdate" value="" size="12"> <font size="2">mm/dd/yyyy</font></td></tr> <tr><td><b>Event:</b></td><td><input type="text" name="event" size="35" maxlength="128"></td></tr> <tr><td colspan="2" align="center" bgcolor="#CCCCCC"><input type="submit" value="Add Event"></td></tr> </table></td></tr></table></form> </td> </tr></table> </blockquote> </body> </html> <?php //********************************************************* // DRAW CALENDAR //********************************************************* /* Draws out a calendar (in html) of the month/year passed to it date passed in format mm-dd-yyyy */ function mk_drawCalendar($m,$y) { if ((!$m) || (!$y)) { $m = date("m",mktime()); $y = date("Y",mktime()); } /*== get what weekday the first is on ==*/ $tmpd = getdate(mktime(0,0,0,$m,1,$y)); $month = $tmpd["month"]; $firstwday= $tmpd["wday"]; $lastday = mk_getLastDayofMonth($m,$y); ?> <table cellpadding="2" cellspacing="0" border="1"> <tr><td colspan="7" bgcolor="#CCCCDD"> <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr><th width="20"><a href="<?php echo $_SERVER['PHP_SELF']; ?>?m=<?=(($m-1)<1) ? 12 : $m-1 ?>&y=<?=(($m-1)<1) ? $y-1 : $y ?>"><<</a></th> <th><font size=2 ><?="$month $y"?></font></th> <th width="20"><a href="<?php echo $_SERVER['PHP_SELF']; ?>?m=<?=(($m+1)>12) ? 1 : $m+1 ?>&y=<?=(($m+1)>12) ? $y+1 : $y ?>">>></a></th> </tr></table> </td></tr> <tr><th width=22 class="tcell">Sun</th><th width=22 class="tcell">Mon</th> <th width=22 class="tcell">Tues </th><th width=22 class="tcell">Wed</th> <th width=22 class="tcell">Thrus</th><th width=22 class="tcell">Fri</th> <th width=22 class="tcell">Sat</th></tr> <?php $d = 1; $wday = $firstwday; $firstweek = true; /*== loop through all the days of the month ==*/ while ( $d <= $lastday) { /*== set up blank days for first week ==*/ if ($firstweek) { echo "<tr>"; for ($i=1; $i<=$firstwday; $i++) { echo "<td><font size=2> </font></td>"; } $firstweek = false; } /*== Sunday start week with <tr> ==*/ if ($wday==0) { echo "<tr>"; } /*== check for event ==*/ echo "<td class='tcell'>"; echo "<a href=\"#\" onClick=\"document.f.eventdate.value='$m-$d-$y';\">$d</a>"; echo "</td>\n"; /*== Saturday end week with </tr> ==*/ if ($wday==6) { echo "</tr>\n"; } $wday++; $wday = $wday % 7; $d++; } ?> </tr></table> Click on a date to select it and to populate the event date field on the bottom <br /> <?php /*== end drawCalendar function ==*/ } /*== get the last day of the month ==*/ function mk_getLastDayofMonth($mon,$year) { for ($tday=28; $tday <= 31; $tday++) { $tdate = getdate(mktime(0,0,0,$mon,$tday,$year)); if ($tdate["mon"] != $mon) { break; } } $tday--; return $tday; } ?> Link to comment https://forums.phpfreaks.com/topic/96337-event-calendar/ Share on other sites More sharing options...
june_c21 Posted March 16, 2008 Author Share Posted March 16, 2008 kindly help me with this. thanks Link to comment https://forums.phpfreaks.com/topic/96337-event-calendar/#findComment-493163 Share on other sites More sharing options...
rcorlew Posted March 16, 2008 Share Posted March 16, 2008 i am not sure what you are wanting exactly because you are pretty vague on what you are asking but I will take a shot at helping/ You need to know two things: 1)You have to change the month and the year for the calendar before the query 2)You have to make a make a way to select the change needed (the month and year) change the top code from <?php $m = (!$m) ? date("m",mktime()) : "$m"; $y = (!$y) ? date("Y",mktime()) : "$y"; ?> To this <?php $y = isset($_GET['y]) ? $_GET['y'] : date('Y'); $m = isset($_GET['m']) ? $_GET['m] : date('m'); ?> That is going to set up your sql query that will select the month and year from sql Next you need to create the link that will allow users to select the month year and later the event Change this <?php echo "<a href =calendar.php> Home </a>"; ?> to this <?php echo "<a href=\"?y=$y&m=$m&day=\"> Home </a>"; ?> That should get you going in the right direction. Link to comment https://forums.phpfreaks.com/topic/96337-event-calendar/#findComment-493172 Share on other sites More sharing options...
june_c21 Posted March 16, 2008 Author Share Posted March 16, 2008 i want user to input staff no, date and event. after click on submit, it will show in the calendar that on the same date there is an event. user can then click to see the details. how to do that? thanks Link to comment https://forums.phpfreaks.com/topic/96337-event-calendar/#findComment-493179 Share on other sites More sharing options...
june_c21 Posted March 16, 2008 Author Share Posted March 16, 2008 anyone? Link to comment https://forums.phpfreaks.com/topic/96337-event-calendar/#findComment-493364 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.