来自可变日期范围的多个条目

时间:2016-05-28 15:26:30

标签: php mysql

我在page1上有一个表单,它有4个输入(Name,startdate,enddate,reason)。

我想从日期范围(startdate,enddate)每天为MySQL添加一个条目

我知道如何添加到MySQL我只是不知道如何获得获取不同日期然后插入它们的过程。

这需要自动化,因为日期范围每次都会改变。

因此可能是04/07/2018 - 09/07/2018或2017/02/02 - 02/02/2017,具体取决于第1页上的用户选择。

有点如下

$name = $_POST['name'];

$startdate = $_POST['startdate'];

$enddate = $_POST['enddate'];

$reason = $_POST['reason'];


INSERT INTO taken (`name`, `date`, `reason`) VALUES ('$name', '$date', '$reason')

如果startdate是01/01/2016并且enddate是05/01/2016,我想添加5次,例如

INSERT INTO taken (`name`, `date`, `reason`) VALUES ('Joe Bloggs', '01/01/2016', 'Holiday')

INSERT INTO taken (`name`, `date`, `reason`) VALUES ('Joe Bloggs', '02/01/2016', 'Holiday')

INSERT INTO taken (`name`, `date`, `reason`) VALUES ('Joe Bloggs', '03/01/2016', 'Holiday')

INSERT INTO taken (`name`, `date`, `reason`) VALUES ('Joe Bloggs', '04/01/2016', 'Holiday')

INSERT INTO taken (`name`, `date`, `reason`) VALUES ('Joe Bloggs', '05/01/2016', 'Holiday')

我已经搜索并尝试了很多方法但没有工作或失败。

对此事的任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

创建一个包含您需要的所有日期的表格(See here how to do that)。

将您的taken.date列更改为DATE类型。

然后你可以做一个简单的批量插入:

INSERT INTO `taken` (`name`, `date`, `reason`) 
    SELECT 'Joe Bloggs', d.`date`, 'Holiday'
    FROM `dates` d
    WHERE d.`date` BETWEEN '2016-01-01' AND '2016-01-05';