0

それで Webix を試していますが、今のところ気に入っています。モバイルカレンダー/スケジューラーをいじっていて、新しいイベントをmysqlデータベースに保存することに行き詰まっています。データベースへのデータの保存に関するチュートリアルとドキュメントに従っていますが、実際に新しいイベントを保存できます。問題は、新しいイベントが 2 回保存されていることです。その理由はわかりません。コードは次のとおりです。

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);
?>

アプリはデータベースからすべてのイベントを適切に読み込みます。新しいイベントを保存すると、そのイベントがデータベースに 2 回保存されます。私はまだ更新と削除のコードに取り組んでいません。

何か助けはありますか?

4

1 に答える 1

0

クライアント側のコードは、保存操作が成功したことの確認として、サーバー側からの有効な JSON 応答を予期します。そうしないと、クライアント側のコードがデータの保存を再試行する可能性があります。

$result = $db->InsertRow("tbl_events", $values);
$id = get_id_of_new_record();
echo "{ id: $id }";
于 2016-02-03T10:26:40.413 に答える