我希望将数据插入具有这些列的SQL数据库中。
id, date, day, Month, Projection, RecommendedStaff, StaffWages, TotalWages, Actual
我找到了insert into语句,它在作为查询输入常量时起作用,但是我无法找到增量这些值并使其成功工作的语法。ID是自动增量的,因此,这没有任何问题,只是试图了解如何增量日期和日值。
例如:
Date / Day / Month
2017-03-20 / Monday / March插入查询已完成
2017-03-21 / Tuesday / March 当月份发生变化时或
2017-04-01 / Saturday / April我希望能够在当前日期的基础上增加一定的天数,因此,我的猜测是以变量作为天数的时间循环。
然而,我目前的增量值理论并没有插入到mySQL数据库中:
$date = date("Y-m-d");
$sql = "INSERT INTO `Test` (date) VALUES (DATE_ADD(NOW(), INTERVAL 1 DAY))";
if (mysqli_multi_query($conn, $sql)) {
echo "New records created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}发布于 2017-03-02 13:48:39
这里有一个PHP方法,您可以实现您想要的。
$fDate = $date->format("Y-m-d");
$date = '2017-03-02';
$begin = new DateTime($date);
$end = new DateTime(date('Y-m-d', strtotime($date . '+ 1 year'))); // you can change + 1 year to what you need
$interval = new DateInterval('P1D'); // one day
//$interval = new DateInterval('P1W'); // one week
$daterange = new DatePeriod($begin, $interval, $end);
$stmt = $conn->prepare("INSERT INTO `Test` (`date`, `day`, `Month`) VALUES (?,?,?)");
$stmt->bind_param('sss', $fDate, $fDay, $fMonth);
foreach ($daterange as $date) { // loop through dates
$fDate = $date->format("Y-m-d"); // format date to the format you need
$fDay = $date->format("l"); // (lower case L) e.g. Sunday
$fMonth = $date->format("F"); // e.g. January
$stmt->execute();
}您可以看到这里如何使用用户strtotime()函数。
(在再次完整阅读问题后更新 ;)
我改变了循环,也给了你日月的时间。您可以将日期设置为任何您需要的格式。有关可以传递给date函数的参数,请参见这里。
https://stackoverflow.com/questions/42556954
复制相似问题