好的,这个让我感到难过,不确定是否有可能。我有一个包含开始和结束日期的数据库。例如,开始日期2002和结束日期2012,但我想要做的是列出这两个点之间的所有日期,例如2003,2004,2005等。
但是这些日期不在数据库中,所以我想要做的就是自动创建它们。这可能吗?,我的另一个想法是创建第二个数据库,其中包含连接和列出所有日期。
刚刚提出一些建议,确实是最好的方法。
由于
答案 0 :(得分:0)
你的sql看起来像那样
$query = "SELECT starttime st ,endtime et FROM your_table WHERE id = your_user_id_variable ";
$row = mysql_fetch_array($result) or die(mysql_error());
然后使用这个PHP代码
for($i=1 , $i<$row['et'],$i++){
echo $row['st']+$i.", " ;
}
然后它将回应2003,2004,.....,2011
答案 1 :(得分:-1)
这样的事情应该用PHP来完成。
使用PHP提供的几个日期功能。
您可以使用mktime()
创建时间戳,然后使用strtotime()
进行循环。
$start = mktime(0, 0, 0, 1, 1, 2002);
$end = mktime(0, 0, 0, 1, 1, 2012);
$currentDate = $start;
while($currentDate < $end) {
echo date("Y", $currentDate) . "<br />";
$currentDate = strtotime("+1 year", $currentDate);
}
没有测试过,但应该可以使用。
答案 2 :(得分:-2)
你必须在功能之间使用
SELECT * FROM Persons
WHERE LastName
BETWEEN (2003 AND 2004);