if((1<<$group_priv)&($priv))

解决方案 »

  1.   

    权限表弄成这样会好一点
    user_id,board_id, priv_id priv_id=1,2,4 1::=阅读
    2::=回复
    4::=发帖
      

  2.   

    因为还有其他的权限管理,不单单是这样的三个版的读写,所以这样的权限结构不合理。 我的意思就是:
    通过版块的权限board_priv来反映当前版的类别。
    通过权限对应表priv_tb来显示各种权限对应的名称(其实值是定死的)。
    操作上,通过group_priv和board_priv来得到用户在当前的某个权限,比如得到阅读权限。但是这个怎样得到?
    我现在只能想到一个笨办法,就是从board_priv得到版块类型(如认证版),然后再使用相应的权限位(如认证版阅读的4)去异或group_priv,即if(2^4 & $group_priv) echo "有本版阅读权限";
      

  3.   

    哎,你那样和我的意思就一样了。
    你那个boardid是什么内容?
      

  4.   

    $group_priv & &board_priv & pow(2,权限id)
      

  5.   

    现在的问题就是不知道那个“权限id”,是哪个。比如只读,就有三种,权限id分别为:1/4/7
      

  6.   

    .... & (pow(2,1) | pow(2,4) | pow(2,7))
      

  7.   

    回复人: HOOLOO(呼噜) ( ) 信誉:100  2005-03-07 10:46:00  得分: 0  
     
     
       搞那么复杂干什么.
      
     
    那你有什么好建议和好结构?