fabiotuga Posted May 16, 2012 at 11:44 AM Report #456029 Posted May 16, 2012 at 11:44 AM boas pessoal tou com um problema numa aplicacao web eu arranjei um calendario(http://jqcalendar.hibionline.com/) e o objectivo é ter uma base de dados com os utilizadores que a vao utilizar e conforme o id do utilizador a bd ia buscar os seus registos ora eu criei uma bd utilizadores que é onde estao guardados as informacoes dos utilizadores com uma chave estrangeira a fazer conexao ao id do calendar ai tudo bem a pior parte é no codigo tenho uma pagina sample.php(é onde esta o codigo de criacao do calendario) <!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 id="Head1"> <title> O meu calendario </title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <link href="css/dailog.css" rel="stylesheet" type="text/css" /> <link href="css/calendar.css" rel="stylesheet" type="text/css" /> <link href="css/dp.css" rel="stylesheet" type="text/css" /> <link href="css/alert.css" rel="stylesheet" type="text/css" /> <link href="css/main.css" rel="stylesheet" type="text/css" /> <script src="src/jquery.js" type="text/javascript"></script> <script src="src/Plugins/Common.js" type="text/javascript"></script> <script src="src/Plugins/datepicker_lang_US.js" type="text/javascript"></script> <script src="src/Plugins/jquery.datepicker.js" type="text/javascript"></script> <script src="src/Plugins/jquery.alert.js" type="text/javascript"></script> <script src="src/Plugins/jquery.ifrmdailog.js" defer="defer" type="text/javascript"></script> <script src="src/Plugins/wdCalendar_lang_US.js" type="text/javascript"></script> <script src="src/Plugins/jquery.calendar.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { var view="week"; var DATA_FEED_URL = "php/datafeed.php"; var op = { view: view, theme:3, showday: new Date(), EditCmdhandler:Edit, DeleteCmdhandler:Delete, ViewCmdhandler:View, onWeekOrMonthToDay:wtd, onBeforeRequestData: cal_beforerequest, onAfterRequestData: cal_afterrequest, onRequestDataError: cal_onerror, autoload:true, url: DATA_FEED_URL + "?method=list", quickAddUrl: DATA_FEED_URL + "?method=add", quickUpdateUrl: DATA_FEED_URL + "?method=update", quickDeleteUrl: DATA_FEED_URL + "?method=remove" }; var $dv = $("#calhead"); var _MH = document.documentElement.clientHeight; var dvH = $dv.height() + 2; op.height = _MH - dvH; op.eventItems =[]; var p = $("#gridcontainer").bcalendar(op).BcalGetOp(); if (p && p.datestrshow) { $("#txtdatetimeshow").text(p.datestrshow); } $("#caltoolbar").noSelect(); $("#hdtxtshow").datepicker({ picker: "#txtdatetimeshow", showtarget: $("#txtdatetimeshow"), onReturn:function(r){ var p = $("#gridcontainer").gotoDate(r).BcalGetOp(); if (p && p.datestrshow) { $("#txtdatetimeshow").text(p.datestrshow); } } }); function cal_beforerequest(type) { var t="A carregar..."; switch(type) { case 1: t="A carregar..."; break; case 2: case 3: case 4: t="O pedido esta a ser processado ..."; break; } $("#errorpannel").hide(); $("#loadingpannel").html(t).show(); } function cal_afterrequest(type) { switch(type) { case 1: $("#loadingpannel").hide(); break; case 2: case 3: case 4: $("#loadingpannel").html("Successo!"); window.setTimeout(function(){ $("#loadingpannel").hide();},2000); break; } } function cal_onerror(type,data) { $("#errorpannel").show(); } function Edit(data) { var eurl="edit.php?id={0}&start={2}&end={3}&isallday={4}&title={1}"; if(data) { var url = StrFormat(eurl,data); OpenModelWindow(url,{ width: 600, height: 400, caption:"Alterar calendario",onclose:function(){ $("#gridcontainer").reload(); }}); } } function View(data) { var str = ""; $.each(data, function(i, item){ str += "[" + i + "]: " + item + "\n"; }); alert(str); } function Delete(data,callback) { $.alerts.okButton="Ok"; $.alerts.cancelButton="Cancelar"; hiConfirm("Tem a certeza que quer eliminar?", 'Confirmar',function(r){ r && callback(0);}); } function wtd(p) { if (p && p.datestrshow) { $("#txtdatetimeshow").text(p.datestrshow); } $("#caltoolbar div.fcurrent").each(function() { $(this).removeClass("fcurrent"); }) $("#showdaybtn").addClass("fcurrent"); } //to show day view $("#showdaybtn").click(function(e) { //document.location.href="#day"; $("#caltoolbar div.fcurrent").each(function() { $(this).removeClass("fcurrent"); }) $(this).addClass("fcurrent"); var p = $("#gridcontainer").swtichView("day").BcalGetOp(); if (p && p.datestrshow) { $("#txtdatetimeshow").text(p.datestrshow); } }); //to show week view $("#showweekbtn").click(function(e) { //document.location.href="#week"; $("#caltoolbar div.fcurrent").each(function() { $(this).removeClass("fcurrent"); }) $(this).addClass("fcurrent"); var p = $("#gridcontainer").swtichView("week").BcalGetOp(); if (p && p.datestrshow) { $("#txtdatetimeshow").text(p.datestrshow); } }); //to show month view $("#showmonthbtn").click(function(e) { //document.location.href="#month"; $("#caltoolbar div.fcurrent").each(function() { $(this).removeClass("fcurrent"); }) $(this).addClass("fcurrent"); var p = $("#gridcontainer").swtichView("month").BcalGetOp(); if (p && p.datestrshow) { $("#txtdatetimeshow").text(p.datestrshow); } }); $("#showreflashbtn").click(function(e){ $("#gridcontainer").reload(); }); //Add a new event $("#faddbtn").click(function(e) { var url ="edit.php"; OpenModelWindow(url,{ width: 500, height: 400, caption: "Create New Calendar"}); }); //go to today $("#showtodaybtn").click(function(e) { var p = $("#gridcontainer").gotoDate().BcalGetOp(); if (p && p.datestrshow) { $("#txtdatetimeshow").text(p.datestrshow); } }); //previous date range $("#sfprevbtn").click(function(e) { var p = $("#gridcontainer").previousRange().BcalGetOp(); if (p && p.datestrshow) { $("#txtdatetimeshow").text(p.datestrshow); } }); //next date range $("#sfnextbtn").click(function(e) { var p = $("#gridcontainer").nextRange().BcalGetOp(); if (p && p.datestrshow) { $("#txtdatetimeshow").text(p.datestrshow); } }); }); </script> < /head> < body> <div> <div id="calhead" style="padding-left:1px;padding-right:1px;"> <div class="cHead"><div class="ftitle">O meu calendario</div> <div id="loadingpannel" class="ptogtitle loadicon" style="display: none;">A Carregar...</div> <div id="errorpannel" class="ptogtitle loaderror" style="display: none;">Desculpe,nao conseguimos carregar os seu ficheiros,por favor tente mais tarde.</div> </div> <div id="caltoolbar" class="ctoolbar"> <div id="faddbtn" class="fbutton"> <div><span title='Click to Create New Event' class="addcal"> Novo Evento </span></div> </div> <div class="btnseparator"></div> <div id="showtodaybtn" class="fbutton"> <div><span title='Click to back to today ' class="showtoday"> Hoje</span></div> </div> <div class="btnseparator"></div> <div id="showdaybtn" class="fbutton"> <div><span title='Day' class="showdayview">Dia</span></div> </div> <div id="showweekbtn" class="fbutton fcurrent"> <div><span title='Week' class="showweekview">Semana</span></div> </div> <div id="showmonthbtn" class="fbutton"> <div><span title='Month' class="showmonthview">Mes</span></div> </div> <div class="btnseparator"></div> <div id="showreflashbtn" class="fbutton"> <div><span title='Refresh view' class="showdayflash">actualizar</span></div> </div> <div class="btnseparator"></div> <div id="sfprevbtn" title="Prev" class="fbutton"> <span class="fprev"></span> </div> <div id="sfnextbtn" title="Next" class="fbutton"> <span class="fnext"></span> </div> <div class="fshowdatep fbutton"> <div> <input type="hidden" name="txtshow" id="hdtxtshow" /> <span id="txtdatetimeshow">A Carregar</span> </div> </div> <div class="clear"></div> </div> </div> <div style="padding:1px;"> <div class="t1 chromeColor"> </div> <div class="t2 chromeColor"> </div> <div id="dvCalMain" class="calmain printborder"> <div id="gridcontainer" style="overflow-y: visible;"> </div> </div> <div class="t2 chromeColor"> </div> <div class="t1 chromeColor"> </div> </div> </div> < /body> < /html> este ficheiro esta a chamar o feed.php que é onde se encontra as funcoes do php(para guardar na base de dados) <?php include_once("dbconfig.php"); include_once("functions.php"); function addCalendar($st, $et, $sub, $ade){ $numero=1; $ret = array(); try{ $db = new DBConnection(); $db->getConnection(); $sql = "insert into `jqcalendar` (`subject`, `starttime`, `endtime`, `isalldayevent`,`utilizadores_id`) values ('" .mysql_real_escape_string($sub)."', '" .php2MySqlTime(js2PhpTime($st))."', '" .php2MySqlTime(js2PhpTime($et))."', '" .mysql_real_escape_string($ade)."', '".$numero."' )"; //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(); $numero=1; try{ $db = new DBConnection(); $db->getConnection(); $sql = "insert into `jqcalendar` (`subject`, `starttime`, `endtime`, `isalldayevent`, `description`, `location`, `color`,`utilizadores_id`) 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)."', '".$numero."' )"; //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(); $numero=1; $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 utilizadores_id= '".$numero."' and `starttime` between '" .php2MySqlTime($sd)."' and '". php2MySqlTime($ed)."'"; $handle = mysql_query($sql); while ($row = mysql_fetch_object($handle)) { $ret['events'][] = array( $row->Id, $row->Subject, php2JsTime(mySql2PhpTime($row->StartTime)), php2JsTime(mySql2PhpTime($row->EndTime)), $row->IsAllDayEvent, 0, 0, $row->Color, 1, $row->Location, ); } }catch(Exception $e){ $ret['error'] = $e->getMessage(); } return $ret; } function listCalendar($day, $type){ $phpTime = js2PhpTime($day); 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": $monday = date("d", $phpTime) - date('N', $phpTime) + 1; $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; } 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; 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; 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); ?> eu neste momento tenho o ficheiro fedd.php a ir buscar o id(do utilizador) mas como podem repara tenho $numero=1; e o que eu queria era que ele soubesse qual o id do utilizador que esta a utilizar o calendar e que fize-se o calendar a partir desse id de utilizadores cumps
ruiFernandes Posted May 16, 2012 at 12:58 PM Report #456039 Posted May 16, 2012 at 12:58 PM se estiveres a usar algum tipo de login, podes usar uma "session" que guarde o "id" do utilizador, e depois vais buscar o valor da "session" no "feed.php" - Rui Fernandes
fabiotuga Posted May 16, 2012 at 02:31 PM Author Report #456081 Posted May 16, 2012 at 02:31 PM se estiveres a usar algum tipo de login, podes usar uma "session" que guarde o "id" do utilizador, e depois vais buscar o valor da "session" no "feed.php" ou seja associava o id da session a variavel que eu criei ($numero) certo? vou tentar e ja digo algo obrigado
fabiotuga Posted May 16, 2012 at 02:44 PM Author Report #456089 Posted May 16, 2012 at 02:44 PM ou seja associava o id da session a variavel que eu criei ($numero) certo? vou tentar e ja digo algo obrigado fiz como disses-te e consegui resolver o problema obrigado eu ja tinha tentado mas sem sucesso 😞
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now