php - 输入开始日期和结束日期并将其间的日期插入数据库

标签 php mysql

是否有在 php 中运行的查询可以让您在两个日期之间插入所有日期?

例如,输入 03/20/2012 和 03/20/2013 并使用这两个日期之间的所有日期填充 mysql?

我正在为一家航空公司制作票务系统,他们每天有 13 个航类从 20 多个地点起飞,手动插入它们变得很乏味。

我想插入日期以及每一天的值

例如。

 FROM                TO              Date_From              Date_To
     Dar Es Salaam      Zanzibar         03/20/2012             03/21/2012
     Dar Es Salaam      Zanzibar         03/21/2012             03/22/2012

注意

我不想生成这个列表(我研究过的问题只回答了如何生成一个列表)我想填充一个 MySQL 数据库

任何帮助将不胜感激

最佳答案

您可以使用此函数生成日期数组

function dateRange( $first, $last, $step = '+1 day', $format = 'd/m/Y' ) {

    $dates = array();
    $current = strtotime( $first );
    $last = strtotime( $last );

    while( $current <= $last ) {

        $dates[] = date( $format, $current );
        $current = strtotime( $step, $current );
    }

    return $dates;
}

$dateRange = dateRange("03/20/2012", "03/20/2013);

然后遍历数组以插入数据

$stmt = $dbh->prepare("INSERT INTO table (from, to, date_from, date_to) VALUES (:from, :to, :datefrom, :dateto)");
$stmt->bindParam(':from', "Dar Es Salaam");
$stmt->bindParam(':to', "zanzibar");
$stmt->bindParam(':from', $datefrom);
$stmt->bindParam(':to', $dateto);
for ($i = 0; $i < count($dateRange); $i++){
   $datefrom  = strototime($dateRange[$i]);
   $dateto  = strototime($dateRange[$i+1]);
   $stmt->execute();
}

关于php - 输入开始日期和结束日期并将其间的日期插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9921688/

相关文章:

php - 如何在functions.php中正确创建自定义表单的链接

mysql - 如何从数据文件中恢复 MySQL 表?

mysql - 未知列 '..' 加入 'field list'

php - 基于 PHP 和 MySQL 性能思想的动态词汇表

javascript - 如何解决php中图片不显示的问题?

php - 使用三台服务器负载平衡 PHP Web 应用程序

php - 两个相关的下拉列表和文本区域(4 个文本区域)取决于 mysql 的最后一个下拉列表

php 7.2 正在阻止插入记录而不添加所有表的字段

Mysql从参数表中获取最新信息

php编码使用php将表单提交到服务器