求纠正一个逻辑错误

数据库有两个表
一个group 一个member

if (@$_POST['tj']=="jyz") {
    $groupsql="select title,id from groups";
    $groupresult=mysql_query($groupsql);
     while ($grouparr=mysql_fetch_assoc($groupresult)){
        //print_r($grouparr);
        //echo "<a href=tj.php?groupid=".$grouparr['id'].">".$grouparr['title']."</a>";
        $groupsql2="select userid from groups_member where groupid=".$grouparr['id'];
        $groupresult2=mysql_query($groupsql2);
        
        while ($grouparr2=mysql_fetch_assoc($groupresult2)){
            $groupsql3="select count(id) as b from course where userid='$grouparr2[userid]'";
            $groupresult3=mysql_query($groupsql3);
            $grouparrf=array();

            while ($grouparr3=mysql_fetch_assoc($groupresult3)){
                
                $grouparrf[]=$grouparr3;
                print_r($grouparrf);
            
                
                
            }
            
        }
        
        
    } 

    
}

从多个group中分别取出来userid,然后查询course中userid的值
把这个值相加,这个怎么做呢?

阅读 2.5k
3 个回答

是把所有查询得到的值相加吗?
grouparrf的声明不应该写在循环外吗?

group和member表有关联性吗

我看你的代码逻辑是统计分组表内所有分组的对应用户的各自课程数,并把他丢到一个数组内

代码改成

$grouparrf[$grouparr['id']] += $grouparr3;

grouparr就是根据分组id为key累加课程数的数组

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题