在表中显示的计数上传递id到url

rnmwe5a2  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(193)

我有一个函数,在其中我返回一个计数,当显示是可点击的。单击此计数时,页面将重定向到包含用户详细信息的用户列表。显示的计数链接到带有 id 传入url的用户的。我没有得到的结果,因为链接显示只有一个用户id,而不是两个(根据数据库)或一些不相关的 id 的。如果我错过了这件事,任何帮助都将不胜感激。
显示计数的函数,

function clearedmodule()
  {
   $id= '';
   $res =   mysql_query("SELECT id from tbl_users WHERE status= 1 AND type = 3 ");

        while($row  =   mysql_fetch_array($res))

        {
        $query =  mysql_query("SELECT DISTINCT user_id FROM tbl_user_quiz  GROUP BY user_id HAVING COUNT(DISTINCT module_id) = '".$this->userQuestionModules()."'  AND SUM(cleared) = 0 ");
       while($row1 = mysql_fetch_assoc($query))
       {
           foreach($row1 as $cname => $id)
           {
            $id     .=  $row['id'].',';
           }

       }

    }
        return substr($id, 0, -1);

  }

现在 <td> 显示计数的位置,

<td>Not Cleared</td>

     <td>
      <?php 

        $ids = $rep->clearedmodule();

        $ids    =   explode(",",$ids) ;

      $linkId = $rep->clearedmodule();

            if($linkId)

      {   ?>
       <a href="reportNotCleared.php?Userid=<?php echo $linkId ; ?>"><?php echo count($ids); ?></a>

    <?php 

     } 
     else{
    echo "0";
 }
?> </a></td>

使用上面的,我得到的网址是 reportNotCleared.php?Userid=10131183 哪里 1013 是正确的身份证, 1183 一点也不正确,我希望它们用逗号分隔。

14ifxucb

14ifxucb1#

第二个查询是您需要的唯一查询。只需删除所有的循环,除了中间的一个,你应该很好去!

function clearedmodule() {

$query = mysql_query("SELECT DISTINCT user_id FROM tbl_user_quiz GROUP BY user_id HAVING COUNT(DISTINCT module_id) = '".$this->userQuestionModules()."' AND SUM(cleared) = 0 ");

while($row1 = mysql_fetch_assoc($query)){

$id .= $row1['user_id'] . ',';

}

return substr($id, 0, -1);

}

相关问题