Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2012, 14:20
dorer
 
Fecha de Ingreso: mayo-2012
Ubicación: Lima
Mensajes: 14
Antigüedad: 14 años, 4 meses
Puntos: 1
Pregunta calendario php jquery/conexion mysql

Hola amigos, soy nuevo en el foro y estoy en busca de ayuda.
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); 



?>