php mysql if id in field

时间:2010-10-10 00:26:58

标签: php mysql

我的数据库

评论

ID   mID   aID   attachID
1     1     6       1       
2     2     6       1
3     3     6       1
4     8     6       2
5     4     6       2

所以我想允许访问带有mID的用户访问attachID。

如果他们正在查看attachID 1,那么mID为1或2或3的用户可以查看。休息mID不能。

编辑:对于attachID 1,具有mID 1的用户也可以查看哪个其他mID用户也可以查看。

实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

function authorize($m_id, $a_id) {
   $query = <<<SQL
      SELECT
         TRUE
      FROM
         db.Table
      WHERE
         m_id = $m_id
         AND a_id = $_aid
SQL;
   return mysql_num_rows(mysql_query($query));
}

如果m_id被授权为a_id,则此函数将返回TRUE,否则返回false。然后在你的php页面上你有类似的东西:

if (!authorize($m_id, $a_id)) {
   header('Location: /not_authorized.php');
}
// Show normal apge for authorized user

答案 1 :(得分:0)

如果返回0,则无权查看用户:

select count(1) from comments where mID = '$mID' and attachID = '$attachID'

获取给定attachID的所有mID,然后可以将其显示给查看给定attachID的用户:

select mID from comments where attachID = '$attachID'