jinu227 Posted November 30, 2011 Share Posted November 30, 2011 How will I display the calendars of 3 consecutive months on selecting the month and year from drop down menus on submit . Then on clicking the next and previous buttons the respective month calendars should slide. Later i should be able to add events on clicking the date. Will be extremely happy if anyone could help me. I want it as seen in http://www.easyphpcalendar.com/v6demo/events/index.php?PHPSESSID=2e191d9b4aeee7350d71b8ab49a1e2ae calendar.php <?php $host="localhost"; // Host name $user=""; // Mysql username $pass=""; // Mysql password $db_name=""; // Database name $tbl_name=""; // Table name // At line 2 of our calendar.php script, add the MySQL connection information: $mysql = mysql_connect("$host", "$user", "$pass")or die("cannot connect"); mysql_select_db("$db_name", $mysql) or die(mysql_error()); // Now we need to define "A DAY", which will be used later in the script: define("ADAY", (60*60*24)); // The rest of the script will stay the same until about line 82 if ((!isset($_POST['month'])) || (!isset($_POST['year']))) { $nowArray = getdate(); $month = $nowArray['mon']; $year = $nowArray['year']; } else { $month = $_POST['month']; $year = $_POST['year']; } $start = mktime(12,0,0,$month,1,$year); $firstDayArray = getdate($start); ?> <!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><?php echo "Calendar: ".$firstDayArray['month']."" . $firstDayArray['year']; ?></title> <!--<link rel="stylesheet" type="text/css" href="calendar.css"/>--> </head> <script type="text/javascript"> function eventWindow(url) { event_popupWin = window.open(url, 'event', 'resizable=yes,scrollbars=yes,toolbar=no,width=400,height=400'); event_popupWin.opener = self; } </script> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <select name="month"> <?php $months = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); for ($x=1; $x<=count($months); $x++){ echo "<option value=\"$x\""; if ($x == $month){ echo " selected"; } echo ">".$months[$x-1]."</option>"; } ?> </select> <select name="year"> <?php for ($x=2011; $x<=2050; $x++){ echo "<option"; if ($x == $year){ echo " selected"; } echo ">$x</option>"; } ?> </select> <input type="submit" name="submit" value="Go!"> </form> <br /> <?php $days = Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"); echo "<table border=\"1\"><tr>\n"; foreach ($days as $day) { echo "<td style=\"background-color: #CCCCCC; width: 50px\"> <strong>$day</strong></td>\n"; } for ($count=0; $count < (6*7); $count++) { $dayArray = getdate($start); if (($count % 7) == 0) { if ($dayArray["mon"] != $month) { break; } else { echo "</tr><tr>\n"; } } if ($count < $firstDayArray["wday"] || $dayArray["mon"] != $month) { echo "<td> </td>\n"; } else { $chkEvent_sql = "SELECT event_title FROM calendar_events WHERE month(event_start) = '".$month."' AND dayofmonth(event_start) = '".$dayArray["mday"]."' AND year(event_start) = '".$year."' ORDER BY event_start"; $chkEvent_res = mysql_query($chkEvent_sql, $mysql) or die(mysql_error($mysql)); if (mysql_num_rows($chkEvent_res) > 0) { $event_title = "<br/>"; while ($ev = mysql_fetch_array($chkEvent_res)) { $event_title .= stripslashes($ev["event_title"])."<br/>"; } mysql_free_result($chkEvent_res); } else { $event_title = ""; } echo "<td ><a href=\"event.php?m=".$month."&d=".$dayArray["mday"]."&y=$year\">".$dayArray["mday"]."</a><br/>".$event_title."</td>\n"; unset($event_title); $start += ADAY; } } echo "</tr></table>"; mysql_close($mysql); ?> </body> </html> event.php <?php $host="localhost"; // Host name $user=""; // Mysql username $pass=""; // Mysql password $db_name=""; // Database name $tbl_name=""; // Table name $mysql = mysql_connect("$host", "$user", "$pass")or die("cannot connect"); mysql_select_db("$db_name", $mysql) or die(mysql_error()); // Add our new events if ($_POST){ $m = $_POST['m']; $d = $_POST['d']; $y = $_POST['y']; // Formatting for SQL datetime (if this is edited, it will NOT work.) $event_date = $y."-".$m."-".$d." ".$_POST["event_time_hh"].":".$_POST["event_time_mm"].":00"; $insEvent_sql = "INSERT INTO calendar_events (event_title, event_shortdesc, event_start) VALUES(' ".$_POST["event_title"]."', '".$_POST["event_shortdesc"]."', '$event_date')"; $insEvent_res = mysql_query($insEvent_sql, $mysql) or die(mysql_error($mysql)); } else { $m = $_GET['m']; $d = $_GET['d']; $y = $_GET['y']; } // Show the events for this day: $getEvent_sql = "SELECT event_title, event_shortdesc, date_format(event_start, '%l:%i %p') as fmt_date FROM calendar_events WHERE month(event_start) = '".$m."' AND dayofmonth(event_start) = '".$d."' AND year(event_start)= '".$y."' ORDER BY event_start"; $getEvent_res = mysql_query($getEvent_sql, $mysql) or die(mysql_error($mysql)); if (mysql_num_rows($getEvent_res) > 0){ $event_txt = "<ul>"; while($ev = @mysql_fetch_array($getEvent_res)){ $event_title = stripslashes($ev["event_title"]); $event_shortdesc = stripslashes($ev["event_shortdesc"]); $fmt_date = $ev["fmt_date"]; $event_txt .= "<li><strong>".$fmt_date."</strong>: ".$event_title."<br/>".$event_shortdesc."</li>"; } $event_txt .="</ul>"; mysql_free_result($getEvent_res); } else { $event_txt = ""; } mysql_close($mysql); if ($event_txt != ""){ echo "<p><strong>Today's Events:</strong></p> $event_txt <hr/>"; } // Show form for adding the event: echo " <form method=\"post\" name=\"form1\" action=\"".$_SERVER['PHP_SELF']."\"> <p><strong>Add Event:</strong><br/> Complete the form below then press the submit button when you are done.</p> <p><strong>Event Title:</strong><br/> <input type=\"text\" name=\"event_title\"/></p> <p><strong>Event Date:</strong><br/> <input type=\"text\" name=\"event_date\" value=\"\"/></p> <p><strong>Event Description:</strong<br/> <input type=\"text\" name=\"event_shortdesc\"/></p> <p><strong>Event Time (hh:mm):</strong><br/> <select name=\"event_time_hh\">"; for ($x=00; $x<=23; $x++){ echo "<option value=\"$x\">$x</option>"; } echo "</select> : <select name=\"event_time_mm\"> <option value=\"00\">00</option> <option value=\"15\">15</option> <option value=\"30\">30</option> <option value=\"45\">45</option> </select> <input type=\"hidden\" name=\"m\" value=\"".$m."\"> <input type=\"hidden\" name=\"d\" value=\"".$d."\"> <input type=\"hidden\" name=\"y\" value=\"".$y."\"> <br/><br/> <input type=\"submit\" name=\"submit\" value=\"Add Event!\" onclick=\"return validate();\"> </form>"; ?> <a href="calendar.php"><input type="button" value="View Calendar" /></a> Thank You in advance. Quote Link to comment https://forums.phpfreaks.com/topic/252096-event-calendar/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.