Jump to content

Recommended Posts

Posted

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

Posted

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

Posted

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 😞

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.