+ -
当前位置:首页 → 问答吧 → 请教根据权限来判断特点内容显示问题

请教根据权限来判断特点内容显示问题

时间:2011-08-31

来源:互联网

实现目标:显示当前用户所在的系院的全部书籍
我的思路:
1、判断当前用户(username)所在的系院(classid)
2、判断书籍(bookname)所在的系院(classid)
3、当两者相等的时候输出当前用户所在的系院的全部书籍

问题:判断当前登录用户所属系院和判断书籍所属系院都成功(在数据库中可以查询出),但是输出书籍列表不成功,估计是判断出错,程序是一边学一边做的,不足之处还请各位大大请教!

class系院表 id classname  
  10 信息学院
input录入表 id classid bookname cbs
  1 10 计算机网络 清华大学出版社
user用户表 id username password classid
  1 test test 10

以下是书籍列表页面显示内容的判断代码,
PHP code

<?php
$username = $_SESSION["username"];
$bookname = $_SESSION["bookname"];
$result1 = mysql_query("SELECT c.classname FROM class AS c INNER JOIN user AS u ON u.classid=c.id WHERE u.username='$username'"); //判断当前登录用户所属系院
$result2 = mysql_query("SELECT c.classname FROM class AS c INNER JOIN input AS u ON u.classid=c.id WHERE u.bookname='$bookname'");//判断书籍所属系院
if (mysql_num_rows($result1) == mysql_num_rows($result2)) { //两者相同则输出结果
    $sql = 'select * from input order by id desc limit ' . ($page -1) * $pagesize . ',' . $pagesize;
    $result = mysql_query($sql);
    $i = 0;
    while ($rs = mysql_fetch_array($result, MYSQL_ASSOC)) {
        $i = $i +1;
?>
     <tr>
       <td  align="center" ><?php echo $rs['id']; ?></td>
       <td  align="left"><?php echo $rs['bookname']; ?></td>
       <td  align="left"><?php echo $rs['cbs']; ?></td>  
       <td  align="left"><?php echo $rs['classname']; ?></td>      
     </tr>
     <?php }?>
     <?php }?>




作者: php13   发布时间: 2011-08-31

晕倒,不能编辑帖子,数据库结构看起来有点乱,我就上传图片吧

作者: php13   发布时间: 2011-08-31

通过一条语句查询不就可以了嘛?
PHP code

SELECT a.id,a.classid,a.bookname,a.cbs,b.username FROM input a,user b WHERE a.classid=b.classid and b.username='$username'

作者: leyan728   发布时间: 2011-08-31

您好!可能是我的技术还不到家,我的理解是您的这条查询语句是取出所有的数据,但是我是想实现根据当前用户所在的系院输出只属于该系院的全部的信息,而不是整个学校的!

作者: php13   发布时间: 2011-08-31

你把当前登录用户的classid拿到。在select * from input where classid=$classid就可以了。

作者: jordan102   发布时间: 2011-08-31

引用 3 楼 php13 的回复:

您好!可能是我的技术还不到家,我的理解是您的这条查询语句是取出所有的数据,但是我是想实现根据当前用户所在的系院输出只属于该系院的全部的信息,而不是整个学校的!


请问,你看懂了sql语句没有?

语句中 b.username='$username' 已经带有用户名了。根据此用户名只获取用户所在系的数据了。何出而不是整个学校的一说?

作者: leyan728   发布时间: 2011-08-31