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. Link to comment https://forums.phpfreaks.com/topic/252096-event-calendar/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.