php - 无法在 jquery 和 jtable 中使用 datepicker 进行更新和创建

标签 php jquery mysql datepicker jquery-jtable

我在日期字段方面遇到问题。当我创建新记录或更新现有记录时,日期字段将保存为 000-00-00。

使用日期选择器,当我选择任何一天时,它都会存储在带有值(0000-00-00)的表中。

DB字段为日期类型。

我下载了 PHP 示例代码,使用示例 sql 创建了一个数据库,并将 RecordDate 字段更改为可编辑,我也遇到了同样的问题。

数据库值:0000-00-00 JTable显示:1899-11-30 我应该怎么办??请帮忙这是 jquery 代码:-

$(document).ready(function () {


   var assignmentid= "<?php echo $assignmentid; ?>";
        //Prepare jTable
        $('#PeopleTableContainer').jtable({
            title: 'Table of people',
            actions: {
                listAction: 'teacherfill.php?action=list&aid="<?php echo $assignmentid; ?>"',
                createAction: 'teacherfill.php?action=create&aid="<?php echo $assignmentid; ?>"',
                updateAction: 'teacherfill.php?action=update&aid="<?php echo $assignmentid; ?>"',
                deleteAction: 'teacherfill.php?action=delete&aid="<?php echo $assignmentid; ?>"'
            },
            fields: {
                lecture_id: {
                    key: true,
                    create: false,
                    edit: false,
                    list: false
                },
                lecture_no: {
                    title: 'Lecture No',
                    width: '40%'
                },
                lecture_date: {
                    title: 'Lecture Date',
                    width: '20%',
                    type:'date'
                }

            }
        });

        //Load person list from server
        $('#PeopleTableContainer').jtable('load');

    });

PHP 代码:-

if($_GET["action"] == "update" && $_GET["aid"])
{

$assignmentid=$_GET['aid'];
    $updatedlecno=$_POST["lecture_no"];
    //$updatedlecdate=date("Y-m-d",strtotime($_POST['lecture_date']));
$updatedlecdate=$_POST['lecture_date'];
    $lecid=$_POST["lecture_id"];
    $q="UPDATE lecture_schedule SET lecture_no=$updatedlecno,lecture_date=$updatedlecdate WHERE (lecture_id=$lecid)";
    $result = mysqli_query($conn,$q);
    if($result)
    {
        $er="No error";
    }
else{
    $er1=mysqli_error($conn);
    $er="error";

}
    //Return result to jTable
    $jTableResult = array();
    $jTableResult['Result'] = "OK";
    //$jTableResult['status'] = $er;
    //$jTableResult['date'] = $updatedlecdate;




    print json_encode($jTableResult);
}

最佳答案

就像这样,根据我对日期格式的评论。

  $DateTime = new DateTime($_POST['lecture_date']);
  $lecture_date = $DateTime->format('Y-m-d');

您必须将其从 m/d/Y 转换为数据库使用的 Y-m-d (ISO 8601)

关于php - 无法在 jquery 和 jtable 中使用 datepicker 进行更新和创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38670850/

相关文章:

php - 使用ajax添加到数据库

php - 使用 PHPUnit/Phake 在 PHP 中模拟一个返回生成器的函数

javascript - iDangerous 滑动不起作用

JavaScript 根据变量值检查字段值

javascript - 只能选中一个复选框

php - 帮助进行 MySQL 查询

php - 使用 jQuery 或 PHP 进行文本比较

php - 将域重定向到不同的 .php 文件

mysql - 为什么聚合函数不起作用,除非使用 GROUP BY 语句?

php - 在 mysql 数据库中保存 whizzywig 文本时出现问题