实现目标:显示当前用户所在的系院的全部书籍
我的思路:
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
$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 }?>

解决方案 »

  1.   

    通过一条语句查询不就可以了嘛?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'
      

  2.   

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

  3.   


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

  4.   

    抱歉,确实是我看错了,您的SQL语句是成功的,在数据库中是可以查询出我所要的结果,但是我的程序可能出现错误,无法将数据显示在页面上,相关代码如下,请各位大大指教!<?php
    $username = $_SESSION["username"];
    $bookname = $_SESSION["bookname"];
    $result = mysql_query("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'"); 
    $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 }?>