php - 将 id 传递给 url 上显示在表中的计数
问题描述
我有一个函数,我在其中返回一个显示时可点击的计数。单击此计数时,页面将重定向到用户列表及其详细信息。显示的计数具有指向信息页面的链接,其中包含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);
}
推荐阅读
- cassandra - 如何使用 quill 动态查询批量插入?
- python - 具有多列和数据类型的数据集的异常值处理
- liquibase - 如何通过liqiubase添加特定类型列
- ios - 用户无需付费即可获得应用内产品,Swift 4.2
- php - 如何一次编辑数据库中的多个值
- javascript - NG build failed 模块解析失败:意外的令牌 - 没有任何改变
- bash - 将文件内容发送到另一个命令 bash
- javascript - 在两个数组中检查相同属性值的快速方法?
- javascript - 如何修复“运行此应用程序的环境不支持此操作。”location.protocol“...”错误?
- angular - 具有多个匹配项的 Angular ngIf 不起作用