Webix移动日历将事件保存到mysql数据库两次

时间:2016-02-02 09:32:53

标签: webix

所以我正在尝试使用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两次保存在数据库中。我还没有处理更新和删除代码。

任何帮助?

1 个答案:

答案 0 :(得分:0)

客户端代码需要来自服务器端的一些有效JSON响应,以确认保存操作是否成功。否则,客户端代码可能会再次尝试保存数据。

$result = $db->InsertRow("tbl_events", $values);
$id = get_id_of_new_record();
echo "{ id: $id }";