我在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')
我已经搜索并尝试了很多方法但没有工作或失败。
对此事的任何帮助都会很棒。
答案 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';