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)
este ficheiro esta a chamar o feed.php que é onde se encontra as funcoes do php(para guardar na base de dados)
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
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)
Código:
<!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>
PHP:
<?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
Última edição: