生日判断

freescy2002 2004-04-13 08:24:28
用户注册生日1982-04-22
数据库里设计是date型的,如果我要在当前提前10天提示生日快到了从04-12开始,但是如何从数据库判断啊,因为里面还有1982啊,
...全文
75 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cokeyang 2004-04-14
  • 打赏
  • 举报
回复
存的时候用时间戳吧!
便于以后的运算!
freescy2002 2004-04-14
  • 打赏
  • 举报
回复
我的意思是这样的
我的数据里有个timee,设为date型里面的记录有1982-04-15的数据记录
而今天是4-13日,
我做一个数据库查询,查出从今天开始10天内有过生日的人。
52juanjuan 2004-04-14
  • 打赏
  • 举报
回复
学习,学习,不过我建议最好用unix时间形式,那样只要注意一点点就可以了,便于运算些
xuzuning 2004-04-14
  • 打赏
  • 举报
回复
1、首先用to_days是不对的,to_days返回日期从0年的天数
2、
MONTH(date) 返回date的月份,范围1到12
DAYOFMONTH(date) 返回date的月份中日期,在1到31范围内
3、于是条件
MONTH(date)=MONTH(now()) and (DAYOFMONTH(date)-DAYOFMONTH(now()))<=10
4、php处理
date("md",strtotime(date))-date("md") <= 10
5、上面算法未包括跨月,请自行扩展
freescy2002 2004-04-14
  • 打赏
  • 举报
回复
哎,这样就更加郁闷了,里面已有几千用户了,对了,unix时间形式,在存储只需要月日是如何写的
ice_berg16 2004-04-13
  • 打赏
  • 举报
回复
你是什么意思?是想取出所有快过生日的用户,还是在用户登录时通知他快过生日了?
如果是第一种
select * from table where (to_days(time)-to_days(now()))<=10

如果是第二种,从数据库中取出该用户的生日资料保存在变量中,这里假设变量为$birth
$birth="1982-04-22";
$arr = explode('-', $birth);
$ustamp = mktime(0,0,0,$arr[1],$arr[2],$arr[0]);
$left_days = ($ustamp - time())/(60*60*24);
if ($left_days <= 10)
echo "你的生日还有".$left_days."天了";
freescy2002 2004-04-13
  • 打赏
  • 举报
回复
curdate( )
不明白啊,为什么我执行的时候不会显示呢?
hahawen 2004-04-13
  • 打赏
  • 举报
回复
SELECT *
FROM table
WHERE time
BETWEEN (curdate( ) - INTERVAL 10 DAY ) AND curdate( )

21,886

社区成员

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

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