如何在我的$dateentry
中每个月将多个数据插入数据库我有6个日期。我需要将它们存储到具有相同ID的数据库中。
mysql_query("INSERT INTO testtable (ID, MonthEntries) VALUES('1','$dateentry')")
or die(mysql_error());
$dateentry = 2010-01-01, 2010-02-01, 2010-03-01, 2010-04-01, 2010-05-01, 2010-06-01,
结构 ID = INT MonthEntries = DATE
对于$ dateentry中的每个日期,我需要为每个日期插入相同的ID。 示例数据表输出在我的数据库表中。
-------------------
ID | MonthEntries |
01 | 2010-01-01 |
01 | 2010-02-01 |
01 | 2010-03-01 |
01 | 2010-04-01 |
01 | 2010-05-01 |
01 | 2011-06-01 |
-------------------
我认为我需要在sql查询中使用for循环,但我有点迷失,我不知道如何构建它。
答案 0 :(得分:0)
就像@Wrikken在评论中所说,你需要在应用程序级别进行循环。条目数据应首先存储在您可以循环的数组中。类似的东西:
$id = 1;
$entries = array( '2010-01-01',
'2010-02-01',
'2010-03-01',
'2010-04-01',
'2010-05-01',
'2010-06-01');
foreach($entries as $entry) {
mysql_query("INSERT INTO testtable (ID, MonthEntries) VALUES($id,'{$entry}')")
or die(mysql_error());
}
注意:我没有检查你的SQL是否有效。
根据评论中的代码段修改代码块:
$date = '2010-01-01';
$end_date = '2010-06-01';
$dateentry = array();
$id = 1; // required by your MySQL insert statement
// populate $dateentry array with dates
while (strtotime($date) <= strtotime($end_date)) {
$dateentry[] = date("Y-m-d", strtotime($date));
$date = date ("Y-m-d", strtotime("+1 month", strtotime($date)));
} // end while
// loop through $dateentry and insert each date into database
foreach($dateentry as $entry) {
mysql_query("INSERT INTO testtable
(ID, MonthEntries) VALUES($id,'{$entry}')")
or die(mysql_error());
} // end foreach
同样,我还没有检查你的MySQL语句是否有错误