将两个单独的字段插入一个记录php mysql中

时间:2013-05-13 15:04:25

标签: php mysql datetime unix-timestamp

我在我的应用程序上使用php和jquery创建了一个计划程序。我有一个部分,用户输入开始日期和开始时间,另一个部分输入结束日期和结束时间。这些字段都是单独的,如下所示:

<input type="text" name="dateFrom" id="dateFrom">  <!-- datepicker plugin -->
<input type="text" name="time_from" id="timeFrom">  <!-- timepicker plugin -->

<input type="text" name="dateTo" id="dateTo">  <!-- datepicker plugin -->
<input type="text" name="time_to" id="timeTo">  <!-- timepicker plugin -->

我想知道的是,一旦用户输入了上述信息,并将数据提交到数据库,而不是在表格中创建单独的列,无论如何插入dateFrom和{{1 }}字段到一个名为timeFrom的数据库列中作为UNIX时间戳,对于start_time&amp; dateTo字段。

任何人都可以就如何做到这一点给我任何想法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用strtotime组合日期和时间,以在插入之前获取UNIX时间戳。

$dateFrom = "2013-05-13";
$timeFrom = "13:52";

$fromStamp = strtotime("$dateFrom $timeFrom");
  

注意:

     

通过查看各个组件之间的分隔符来消除m/d/yd-m-y格式的日期:如果分隔符是斜杠(/),那么美国{{1 }} 假设;如果分隔符是短划线(m/d/y)或点(-),则假定为欧洲.格式。

     

为避免潜在的歧义,最好在可能的情况下使用ISO 8601(d-m-y)日期或DateTime::createFromFormat()

答案 1 :(得分:0)

这样的东西
INSERT INTO yourtable (start_time, end_time)
VALUES (UNIX_TIMESTAMP('$dateFrom $timeFrom'), UNIX_TIMESTAMP('$dateTo $timeTo'))
假设您的$ dateFrom为yyyy-mm-dd,而$ timeFrom为hh:mm:ss,则

会这样做。当然,如果您直接将表单字段填充到查询中,这将受到SQL注入攻击,但这只是为了向您展示应该这样做的一种方式。