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

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

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

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

有什么好的办法把每一天循环出来????
...全文
231 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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_%'

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧