Estoy realizando un calendario con eventos que se visualizan por dia, semana y mes ademas de esto cuando intento hacer la conexion tengo problemas puesto que no se muestran los eventos en el calendario de mi BD, no se como seguir; estaba revisando en algunos temas del foro y veo que tambien tienen el mismo problema pero sin solucion, espero puedan ayudarme.
GRACIAS
Código PHP:
dbconfig.php
<?php
class DBConnection{
function getConnection(){
mysql_connect("localhost","root","") or
die("Could not connect: " . mysql_error());
mysql_select_db("wdcalendario") or
die("Could not select database: " . mysql_error());
}
}
?>
Código PHP:
edit.db.php
<?php
include_once("php/dbconfig.php");
include_once("php/functions.php");
function getCalendarByRange($id){
try{
$db = new DBConnection();
$db->getConnection();
$sql = "select * from `jqcalendar` where `id` = " . $id;
$handle = mysql_query($sql);
//echo $sql;
$row = mysql_fetch_object($handle);
}catch(Exception $e){
}
return $row;
}
if($_GET["id"]){
$event = getCalendarByRange($_GET["id"]);
}
?>
Código PHP:
datafeed.db.php
<?php
include_once("dbconfig.php");
include_once("functions.php");
function addCalendar($st, $et, $sub, $ade){
$ret = array();
try{
$db = new DBConnection();
$db->getConnection();
$sql = "insert into `jqcalendar` (`subject`, `starttime`, `endtime`, `isalldayevent`) values ('"
.mysql_real_escape_string($sub)."', '"
.php2MySqlTime(js2PhpTime($st))."', '"
.php2MySqlTime(js2PhpTime($et))."', '"
.mysql_real_escape_string($ade)."' )";
//echo($sql);
if(mysql_query($sql)==false){
$ret['IsSuccess'] = false;
$ret['Msg'] = mysql_error();
}else{
$ret['IsSuccess'] = true;
$ret['Msg'] = 'add success';
$ret['Data'] = mysql_insert_id();
}
}catch(Exception $e){
$ret['IsSuccess'] = false;
$ret['Msg'] = $e->getMessage();
}
return $ret;
}
function addDetailedCalendar($st, $et, $sub, $ade, $dscr, $loc, $color, $tz){
$ret = array();
try{
$db = new DBConnection();
$db->getConnection();
$sql = "insert into `jqcalendar` (`subject`, `starttime`, `endtime`, `isalldayevent`, `description`, `location`, `color`) values ('"
.mysql_real_escape_string($sub)."', '"
.php2MySqlTime(js2PhpTime($st))."', '"
.php2MySqlTime(js2PhpTime($et))."', '"
.mysql_real_escape_string($ade)."', '"
.mysql_real_escape_string($dscr)."', '"
.mysql_real_escape_string($loc)."', '"
.mysql_real_escape_string($color)."' )";
//echo($sql);
if(mysql_query($sql)==false){
$ret['IsSuccess'] = false;
$ret['Msg'] = mysql_error();
}else{
$ret['IsSuccess'] = true;
$ret['Msg'] = 'add success';
$ret['Data'] = mysql_insert_id();
}
}catch(Exception $e){
$ret['IsSuccess'] = false;
$ret['Msg'] = $e->getMessage();
}
return $ret;
}
function listCalendarByRange($sd, $ed){
$ret = array();
$ret['events'] = array();
$ret["issort"] =true;
$ret["start"] = php2JsTime($sd);
$ret["end"] = php2JsTime($ed);
$ret['error'] = null;
try{
$db = new DBConnection();
$db->getConnection();
$sql = "select * from `jqcalendar` where `starttime` between '"
.php2MySqlTime($sd)."' and '". php2MySqlTime($ed)."'";
$handle = mysql_query($sql);
//echo $sql;
while ($row = mysql_fetch_object($handle)) {
//$ret['events'][] = $row;
//$attends = $row->AttendeeNames;
//if($row->OtherAttendee){
// $attends .= $row->OtherAttendee;
//}
//echo $row->StartTime;
$ret['events'][] = array(
$row->Id,
$row->Subject,
php2JsTime(mySql2PhpTime($row->StartTime)),
php2JsTime(mySql2PhpTime($row->EndTime)),
$row->IsAllDayEvent,
0, //más de un día del evento
//$row->InstanceType,
0,//Evento recurrente,
$row->Color,
1,//editable
$row->Location,
''//$attends
);
}
}catch(Exception $e){
$ret['error'] = $e->getMessage();
}
return $ret;
}
function listCalendar($day, $type){
$phpTime = js2PhpTime($day);
//echo $phpTime . "+" . $type;
switch($type){
case "month":
$st = mktime(0, 0, 0, date("m", $phpTime), 1, date("Y", $phpTime));
$et = mktime(0, 0, -1, date("m", $phpTime)+1, 1, date("Y", $phpTime));
break;
case "week":
//Supongo que el primer día de la semana es el lunes
$monday = date("d", $phpTime) - date('N', $phpTime) + 1;
//echo date('N', $phpTime);
$st = mktime(0,0,0,date("m", $phpTime), $monday, date("Y", $phpTime));
$et = mktime(0,0,-1,date("m", $phpTime), $monday+7, date("Y", $phpTime));
break;
case "day":
$st = mktime(0, 0, 0, date("m", $phpTime), date("d", $phpTime), date("Y", $phpTime));
$et = mktime(0, 0, -1, date("m", $phpTime), date("d", $phpTime)+1, date("Y", $phpTime));
break;
}
//echo $st . "--" . $et;
return listCalendarByRange($st, $et);
}
function updateCalendar($id, $st, $et){
$ret = array();
try{
$db = new DBConnection();
$db->getConnection();
$sql = "update `jqcalendar` set"
. " `starttime`='" . php2MySqlTime(js2PhpTime($st)) . "', "
. " `endtime`='" . php2MySqlTime(js2PhpTime($et)) . "' "
. "where `id`=" . $id;
//echo $sql;
if(mysql_query($sql)==false){
$ret['IsSuccess'] = false;
$ret['Msg'] = mysql_error();
}else{
$ret['IsSuccess'] = true;
$ret['Msg'] = 'Succefully';
}
}catch(Exception $e){
$ret['IsSuccess'] = false;
$ret['Msg'] = $e->getMessage();
}
return $ret;
}
function updateDetailedCalendar($id, $st, $et, $sub, $ade, $dscr, $loc, $color, $tz){
$ret = array();
try{
$db = new DBConnection();
$db->getConnection();
$sql = "update `jqcalendar` set"
. " `starttime`='" . php2MySqlTime(js2PhpTime($st)) . "', "
. " `endtime`='" . php2MySqlTime(js2PhpTime($et)) . "', "
. " `subject`='" . mysql_real_escape_string($sub) . "', "
. " `isalldayevent`='" . mysql_real_escape_string($ade) . "', "
. " `description`='" . mysql_real_escape_string($dscr) . "', "
. " `location`='" . mysql_real_escape_string($loc) . "', "
. " `color`='" . mysql_real_escape_string($color) . "' "
. "where `id`=" . $id;
//echo $sql;
if(mysql_query($sql)==false){
$ret['IsSuccess'] = false;
$ret['Msg'] = mysql_error();
}else{
$ret['IsSuccess'] = true;
$ret['Msg'] = 'Succefully';
}
}catch(Exception $e){
$ret['IsSuccess'] = false;
$ret['Msg'] = $e->getMessage();
}
return $ret;
}
function removeCalendar($id){
$ret = array();
try{
$db = new DBConnection();
$db->getConnection();
$sql = "delete from `jqcalendar` where `id`=" . $id;
if(mysql_query($sql)==false){
$ret['IsSuccess'] = false;
$ret['Msg'] = mysql_error();
}else{
$ret['IsSuccess'] = true;
$ret['Msg'] = 'Succefully';
}
}catch(Exception $e){
$ret['IsSuccess'] = false;
$ret['Msg'] = $e->getMessage();
}
return $ret;
}
header('Content-type:text/javascript;charset=UTF-8');
$method = $_GET["method"];
switch ($method) {
case "add":
$ret = addCalendar($_POST["CalendarStartTime"], $_POST["CalendarEndTime"], $_POST["CalendarTitle"], $_POST["IsAllDayEvent"]);
break;
case "list":
$ret = listCalendar($_POST["showdate"], $_POST["viewtype"]);
break;
case "update":
$ret = updateCalendar($_POST["calendarId"], $_POST["CalendarStartTime"], $_POST["CalendarEndTime"]);
break;
case "remove":
$ret = removeCalendar( $_POST["calendarId"]);
break;
case "adddetails":
$st = $_POST["stpartdate"] . " " . $_POST["stparttime"];
$et = $_POST["etpartdate"] . " " . $_POST["etparttime"];
if(isset($_GET["id"])){
$ret = updateDetailedCalendar($_GET["id"], $st, $et,
$_POST["Subject"], isset($_POST["IsAllDayEvent"])?1:0, $_POST["Description"],
$_POST["Location"], $_POST["colorvalue"], $_POST["timezone"]);
}else{
$ret = addDetailedCalendar($st, $et,
$_POST["Subject"], isset($_POST["IsAllDayEvent"])?1:0, $_POST["Description"],
$_POST["Location"], $_POST["colorvalue"], $_POST["timezone"]);
}
break;
}
echo json_encode($ret);
?>