首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP+MYSQL编程 » [原创]如何实现时间限制?  


  作者:红烧排骨
  注册时间:2004-07-28
  主题/回复:3/2
  积分:417
  等级:★★☆(五级)
  称号:略有小成

  lutiemin@vip.sin..
  未提供
  www.

 

 发表:2005-03-05 05:42:22 阅读 2215 次 回复 1 次 得分1  |   字号 字色
[原创]如何实现时间限制?
各位高手好:
    我想给信息的显示加上一个限制时间,比如说3个月或者30天后到期。就自动不显示了。
    我用的是函数date('Y-M-d')来获取信息录入的时间并赋给一个变量$starttime。我又在每个信息记录后加了一个“yanzheng"字段,在查询库的时候通过检验这个字段是1还是0来决定是否显示。
    再往下我就不会了。时间如何加减,如何判断是否到期……哎,总之搞了半天也没弄明白。请高手指教。谢谢了。
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2005-03-05 16:26:17  评分:1 

没有必要在数据库里增加一个标志字段。

只要信息在插入数据库的时候记录了插入时间,那么现在时间和插入时减相见就知道这条信息是否已经过期。
相减的方法有很多,比如可以分别取出年、月、日进行单独加减,那样稍微复杂一些,还有一个方法比如你可以取得当前时间的unix戳记,然后把数据库里面的时间也格式化成unix戳记,然后两个unix戳记相减,得出两个时间相隔的秒数,然后用这个总秒数除以24*60*60,也就说每天的秒数,得出来目前的时间和数据库时间相隔的天数。

以上都是比较精确但是比较麻烦的方法,还有一种方法就是直接用sql语句来查询某天之前的数据,比如要查询2005-2-1日之前的帖子

select * from 表名 where 时间字段<"2005-2-1"
这样一个语句就ok了
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.003sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版