一个日期问题,不知道算法怎么弄

szjq 2006-09-20 04:19:16
问题:选择了一个日期段,比如20060301-20060918,然后根据选择的时间段去库查找相应的时间表存不存在,存在就读取表中的数据,数据库中的表名为:date_20060308这样的格式.

现在问题是怎么样把日期段060301-20060918中所包含的每一天去和库中的表比较,如果存在就读取数据.

我的思路是把期日段0060301-20060918中的每一天循环出来,然后组成"date_20060301"这样的格式和数据库中的表去比较,如果存在就读取.

有什么好的办法把每一天循环出来????
...全文
204 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
TombFigure 2006-09-22
我觉得可以换的思路来解决
SHOW TABLES [FROM db_name] [LIKE 'pattern']
用这种方式应该是不错的
这样不用太多的错误处理
回复
szjq 2006-09-22
谢谢大家
回复
helloyou0 2006-09-21
晕,你不是说是表名吗
回复
aminconi 2006-09-21
查数据库的手册
应该有截字段的方法(假设是to_char())
写SQL文可以这么写
select ...
from ...
where ...
and to_char(...) between '20060301' and '20060918'
回复
szjq 2006-09-21
helloyou0(你好!) :你说的对,只是我觉得这样还是有点复杂,后来在mysql手册上查到了一个用法

DATE_ADD("2006-09-18",INTERVAL 1 DAY)

建议大家看看,
回复
szjq 2006-09-21
是数据库中的表名,可以用sql语句来处理呀
回复
helloyou0 2006-09-20
好像都误解了楼主的意思

用php的mktime即可,只需要在日期位上加1,它会自动进位到月和年上去。
大致如此:
$i=0;
do{
$d=mktime(0,0,0,$start+$i,$mon,$year);
......查你的表....
}while($d<$end)
回复
iasky 2006-09-20
SHOW TABLES [FROM db_name] [LIKE 'pattern']

返回db_name中的数据库名,然后查找
回复
stefenjun 2006-09-20
sql语句 where 日期字段 like '%现有日期%'
回复
TombFigure 2006-09-20
SHOW TABLES from `plxzcn_db` like 'date_%'
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2006-09-20 04:19
社区公告
暂无公告