首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用增量日期和天数插入PHP中的SQL数据库

问使用增量日期和天数插入PHP中的SQL数据库
EN

Stack Overflow用户
提问于 2017-03-02 13:35:37
回答 1查看 1.6K关注 0票数 1

我希望将数据插入具有这些列的SQL数据库中。

id, date, day, Month, Projection, RecommendedStaff, StaffWages, TotalWages, Actual

我找到了insert into语句,它在作为查询输入常量时起作用,但是我无法找到增量这些值并使其成功工作的语法。ID是自动增量的,因此,这没有任何问题,只是试图了解如何增量日期和日值。

例如:

代码语言:javascript
复制
Date / Day / Month

2017-03-20 / Monday / March

插入查询已完成

代码语言:javascript
复制
2017-03-21 / Tuesday / March 

当月份发生变化时或

代码语言:javascript
复制
2017-04-01 / Saturday / April

我希望能够在当前日期的基础上增加一定的天数,因此,我的猜测是以变量作为天数的时间循环。

然而,我目前的增量值理论并没有插入到mySQL数据库中:

代码语言:javascript
复制
$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);
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-02 13:48:39

这里有一个PHP方法,您可以实现您想要的。

代码语言:javascript
复制
$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函数的参数,请参见这里。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42556954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档