所以我正在尝试使用Webix,到目前为止我喜欢它。我正在使用移动日历/调度程序,并且因为将新事件保存到mysql数据库而陷入困境。我已经按照关于将数据保存到数据库的教程和文档,实际上我能够保存新事件。问题是它将两次新事件保存起来,而我却未能找出原因。这是代码:
webix.ready(function(){
webix.ui.fullScreen();
webix.ui({
rows:[
{
view: "toolbar", id:"toolbar", elements:[
{
view: "icon", icon: "bars",
click: function(){
if( $$("menu").config.hidden){
$$("menu").show();
}
else
$$("menu").hide();
}
},
{
view: "label",
label: "JPlan"
}
]
},
{
view: "scheduler",
id: "scheduler",
url: "data/getEvents.php",
save:{
"insert":"data/saveEvents.php",
"update":"data/update.php",
"delete":"data/delete.php"
}
}
]
});
});
用于保存新事件的php代码:
<?php
include('mysql.class.php');
$db = new MySQL();
$values = array();
$now = time();
$values["eventTitle"] = MySQL::SQLValue($_POST['text']);
$values["eventJudge"] = MySQL::SQLValue($_POST['judge']);
$values["eventStart"] = MySQL::SQLValue($_POST['start_date']);
$values["eventEnd"] = MySQL::SQLValue($_POST['end_date']);
$values["eventNotes"] = MySQL::SQLValue($_POST['details']);
$values["eventAddedTime"] = MySQL::SQLValue($now);
$values["eventAddedBy"] = MySQL::SQLValue('');
// Execute the insert
$result = $db->InsertRow("tbl_events", $values);
?>
该应用程序可以很好地加载数据库中的所有事件。只是当我保存一个新事件时,它将evet两次保存在数据库中。我还没有处理更新和删除代码。
任何帮助?
答案 0 :(得分:0)
客户端代码需要来自服务器端的一些有效JSON响应,以确认保存操作是否成功。否则,客户端代码可能会再次尝试保存数据。
$result = $db->InsertRow("tbl_events", $values);
$id = get_id_of_new_record();
echo "{ id: $id }";