如何在单个行中将日期范围插入 mysql [英] How to insert date range to mysql in individual rows
问题描述
我打算在我的 MySQL 中插入多行我的代码是为每个日期插入一行,我有一个日期开始和日期结束,所以对于每个日期我想插入 1 行请帮助我使用 PHP MySQL 插入我的 Wamp 服务器
I'm, planning to insert many row in my MySQL my code is to insert a row for each date and i have a date-start and date-end so for each date i want to insert 1 row please help me with inserting in my Wamp server using Php MySQL
我想在我的 datestart 和 dateend 之间分别插入所有日期,你能帮我吗,谢谢
i want to insert all the dates between my datestart and dateend individually can you help me with this thanks
推荐答案
在mysql中一次插入多行需要在第一组数据后加逗号
to insert multiple rows at one time in mysql you need to add a comma after your first set of data
<?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')
for each additional row add another ,('id', 'first', 'last')
由于您的请求发生了很大变化,这里更新了日期
since your request has quite changed here is an update for the dates
<?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);
?>
未测试但它应该可以工作,它会发现您输入的开始日期和结束日期之间的差异(以天为单位),然后根据需要将每一天添加到查询中 - 一旦完成,它就会运行查询
not tested but it should work, it finds the difference in your inputted start and end date in days then adds each day to the query as appropriate - once completed it runs the query
这篇关于如何在单个行中将日期范围插入 mysql的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!