如何在各行中向mysql插入日期范围

时间:2014-01-21 02:49:57

标签: php mysql

我正计划在我的MySQL中插入很多行,我的代码是为每个日期插入一行,并且我有一个日期开始和日期结束所以对于每个日期我要插入1行 请帮我使用Php MySQL插入我的Wamp服务器

我想在我的datestart和dateend之间插入所有日期,你能不能帮我解决这个问题

1 个答案:

答案 0 :(得分:1)

在mysql中一次插入多行,你需要在第一组数据后添加一个逗号

<?php
$con=mysqli_connect("example.com","mysqluser","mysqlpw","my_db");
if (mysqli_connect_errno())
  {
  echo "Failed to connect: " . mysqli_connect_error();
  }
mysqli_query($con,"INSERT INTO tablename(`uid`, `firstname`, `lastname`) VALUES ('15', 'James', 'thompson'),('25', 'Michael', 'Bagwell')");

mysqli_close($con); 
?> 

每增加一行,添加另一行,('id','first','last')

由于您的请求在此处发生了很大变化,因此日期更新

<?php
$startdate = strtotime($_POST["startdate"]);
$enddate = strtotime($_POST["enddate"]);
$sdate = date('Y-m-d',$startdate);
$edate = date('Y-m-d',$enddate);
$datediff = $sdate - $edate;
$countdays = floor($datediff/(60*60*24));
$query = "INSERT INTO tablename(`incdate`, `data1`, `data2`) VALUES ('" . $sdate . "', 'data', 'data')"

for ($i = 1; $i < $countdays; $i++) {
    $sdate->add(new DateInterval('P1D'));
    $query .= "('" . $sdate . "', 'data', 'data')"
}

$con=mysqli_connect("example.com","peter","abc123","my_db");
if (mysqli_connect_errno())
  {
  echo "Failed to connect: " . mysqli_connect_error();
  }
mysqli_query($con, $query);

mysqli_close($con); 
?> 

未经测试但应该有效,它会在输入的开始日期和结束日期中发现差异,然后在适当的时候将每一天添加到查询中 - 一旦完成,它就会运行查询