将 html 日期选取器设置为 null


Set html datepicker to null

我在php页面上有一个表单,用于提交有关事件的信息。提交的信息存储在 MySQL 数据库中。

当用户未从日期选取器中选择日期时,会将 0000-00-00 插入到数据库中。该列设置为默认值为 null,导致我认为此行为是由日期选择器引起的。

任何人都可以建议一种允许插入空值的方法吗?

注意 - 我使用的是默认的html日期选择器,而不是jqueryUI版本。

编辑 - 仔细检查,因为数据库中的数据类型是日期,与日期选择器无关。

形式

<form action="add_event.php" method="post">
    <div class="textWrap">
        <label for="dateEndInput" id="title3">End Date</label>
        <input id="dateEndInput" name="dateEndInput" type="text" value="" tabindex="3">
    </div>
        <input name="submit" type="submit" value="Submit" />
</form>

提前致谢

在执行 SQL 事务之前,有一个额外的 PHP 语句专门检查该值和 var 类型,然后在满足这些条件时将其设置为 null 怎么样?

if ($date && $date === '0000-00-00') {
    $date = null;
}

或者,有一个内置的date_parse函数

$date = '0000-00-00';
$parse_date = date_parse($date);
if ($parse_date['error_count'] > 0) {
    $date = null;
}

但是,还有一个数据库端解决方案,您可以在其中将列更改为不接受 0000-00-00 作为日期。请参阅 http://dev.mysql.com/doc/refman/5.1/en/sql-mode.html#sqlmode_no_zero_date