我有一个函数,我在其中返回一个显示时可点击的计数。单击此计数时,页面将重定向到包含用户详细信息的列表。显示的计数链接到带有 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>
使用上面的方法,我得到的 URL 是
reportNotCleared.php?Userid=10131183
其中 1013
是正确的 id,1183
根本不正确,我希望它们以逗号分隔。
最佳答案
您的第二个查询是您唯一需要的查询。只需移除除中间那个之外的所有循环,您就可以开始了!
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);
}
关于php - 将 id 传递给表中显示的计数的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50303416/