0

我有一张可动手做的桌子:

                $("#old_tab_handsontable").handsontable({
                    数据:数据,
                    开始行:1,
                    colHeaders: ['ID', 'datePers', 'dateArchive', 'dateAncienne', 'dateDef', 'IS'],
                    列: [
                        {数据:'ID'},
                        {数据:'datePers',类型:'date'},
                        {数据:'dateArchive',类型:'date'},
                        {数据:'dateHist.old',类型:'date'},
                        {数据:'dateDef',类型:'date'},
                        {数据:“是”}
                    ],
                    colWidths: [100, 100, 100, 100, 100, 100]
                });
    
所有的车道都用我的数据库完成。我有一个按钮可以保存车道上的变化:
        $("#save").click(function() {
            var handsontable = $("#old_tab_handsontable").data('handsontable');
            console.log(handsontable.getData());
            $.ajax({
                url: "/Reporting/saveperspective",
                数据:{'数据':handsontable.getData()},
                类型:'POST',
                成功:函数(){
                    generateJsMessage("Les perspectives ont bien été modifiées", 'success');
                },
                错误:函数(){
                    generateJsMessage("Une erreur s'est produite", 'error');
                }
            });
        });
    

我的问题是,如果我将一个日期保存为 2012-02-01,当我重新加载页面时,所考虑的单元格将显示 2012-01-02。当我 console.log(handsontable.getData()); 仍然是 2012-02-01,当我 var_dump($_POST['data']) 时,仍然是 2012-02-01... 我的数据库(我不允许触摸/修改/...)已打开SQL 服务器。

我的更新控制器是:

        公共函数 saveperspectiveAction() {
            $this->_helper->getHelper('layout')->disableLayout();
            $this->_helper->viewRenderer->setNoRender();
            $data = $_POST['data'];
            _dump($_POST['data']);
            foreach($data 为 $one):
                $this->reporting->updateListPerspectives($one['ID'], $one['datePers'], $one['dateArchive'], $one['dateDef'], $one['IS']);
            结束;
            返回真;
        }
    

我的吸气剂控制器是

     公共函数 getperspectiveAction() {
            $resultSql = $this->reporting->getListPerspectives();
            $this->_helper->getHelper('layout')->disableLayout();
            $this->_helper->viewRenderer->setNoRender();
            $tab = 数组();
            foreach ($resultSql as $oneline) {
                if ($oneline['dateHist.old'] == NULL) {

array_push($tab, array('ID' => $oneline['theDate_id'], 'datePers' => $oneline['datePers']->format('Y-m-d'), 'dateArchive' => $oneline['dateArchive']->format('Y-m-d'), 'dateHist.old' => " ", 'dateDef' => $oneline['dateDef']->format('Y-m-d'), 'IS' => $oneline['isCriteria'])); } else { array_push($tab, array('ID' => $oneline['theDate_id'], 'datePers' => $oneline['datePers']->format('Y-m-d'), 'dateArchive' => $oneline['dateArchive']->format('Y-m-d'), 'dateHist.old' => $oneline['dateHist.old']->format('Y-m-d'), 'dateDef' => $oneline['dateDef']->format('Y-m-d'), 'IS' => $oneline['isCriteria'])); } } print json_encode($tab); } </pre>
4

1 回答 1

1

尝试设置日期格式:

            $("#old_tab_handsontable").handsontable({
                data: data,
                startRows: 1,
                colHeaders: ['ID', 'datePers', 'dateArchive', 'dateAncienne', 'dateDef', 'IS'],
                columns: [
                    {data: 'ID'},
                    {data: 'datePers', type: 'date', dateFormat: 'mm/dd/yy'},
                    {data: 'dateArchive', type: 'date', dateFormat: 'mm/dd/yy'},
                    {data: 'dateHist.old', type: 'date', dateFormat: 'mm/dd/yy'},
                    {data: 'dateDef', type: 'date', dateFormat: 'mm/dd/yy'},
                    {data: 'IS'}
                ],
                colWidths: [100, 100, 100, 100, 100, 100]
            });
于 2013-07-02T20:20:28.320 回答