if 身份=会员 {
   if 当前的时间-发布消息时记录的时间>=1(折合为天数了)
      显示
   else
      不显示
else
   显示消息
-----------------
最好把各个部分做成函数的形式,比如显示消息函数 
ShowMessage (id)
{
   检测是否显示(比如验证身份,验证时间等等)
}

解决方案 »

  1.   

    记下发布时间就行了啊根据用户计算一下,sql语句里就可以处理掉
      

  2.   

    今天有空,多写几句~:)消息表:messages 
    id(int)  title(varchar)        posttime (datetime)
    1           t1              2006-01-01 12:03:46
    2           t2              2006-01-03 03:33:01
    .....
    if(会员){
      $sql="select * from messages";
    }else{
      $sql="select * from message where posttime<date_sub(now(),interval 24 hour)";
    }后面都一样了。
    query...fetch.....
      

  3.   

    function isVtimeout($str_vtime)//时间超时判断
    {
    $date_elements = explode(" " ,$str_vtime);
    $date_date=explode("-",$date_elements[0]);
    $date_time=explode(":",$date_elements[1]);

    $check_mktime=mktime($date_time[0],$date_time[1],$date_time[2],$date_date[1],$date_date[2]+1,$date_date[0]);

    $date_array = getdate(time()); 

    $hours = $date_array[ "hours"]; 
    $minutes = $date_array["minutes"]; 
    $seconds = $date_array[ "seconds"]; 
    $month = $date_array["mon"]; 
    $day = $date_array["mday"]; 
    $year = $date_array["year"]; 

    $now_mktime = mktime($hours ,$minutes, $seconds,$month ,$day,$year);

    if($now_mktime>=$check_mktime)
    return true;
    else
    return false;
    }=====以前写的一个
    $str_vtime 是 mysql 2006-09-19 13:24:16 这样的时间字符串$check_mktime=mktime($date_time[0],$date_time[1],$date_time[2],$date_date[1],$date_date[2]+1,$date_date[0]);这句是你判断的时间差值,6个参数是6种时间段,在上面做加减就可以了查查手册函数改一下,还是比较好用的
      

  4.   

    肯定先要确定用户类型
    再根据用户权限能访问哪个不能访问哪个!
    用户类型一般用session 或cookie注册!
    数据库肯定得有用户权限表,确定用户类型后再判断!
    很简单得哥们!