checkbox选中输出

steryzone steryzone 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
数据库里面有三张表,一张表是角色,另一张表式权限,最后一张表是角色与权限之间的关系(一对多等的关系)
现在我输出到页面,想左边是输出权限的名字,右边是输出一个checkbox,如果这个角色有这个权限,输出来的时候就会打上勾,否则就没有
我的思路是,首先查询权限的表,用do-while把所有权限都列在左边,然后再嵌入一个do-while循环,查询角色与权限的表,通过角色的id来查,把 这个觉得的权限都列出来,但是现在出现了一个问题
比如我admin这个角色有2种权限(一共有10种权限),就是因为嵌入do-while循环,所以在输出到页面时就输出了20行,每个权限有2行,当然admin拥有的权限也打上了勾,但是角色有多少种权限就会再每一次嵌入的循环里面全部循环一次,这样好麻烦。。。
有没有什么好的方法,能在嵌入的do-while循环里面,当满足了以次,就跳到下一次循环的呢语句呢?


dim rs2,sql,rs3,id
id = request.QueryString("id")
Set rs2 = server.CreateObject("adodb.recordset")
sql = "select * from saga_rights" //这里是查询‘权限’的表
rs2.open sql,conn,1,1
%>
<table width="48%" border="0">
<tr>
<td colspan="2"> </td>
</tr>
<%do while not rs2.eof%>
<%
Set rs3 = server.CreateObject("adodb.recordset")
sql = "select * from role_rights where role="&id //这里通过某个角色的id来查询他有多少种权限,查询‘角色与权限’的表
rs3.open sql,conn,1,1
do while not rs3.eof//就因为这里的判断,比如某个角色有多少种权限,这里就会循环多少次,令到重复出现
If rs3("rights") =rs2("id") Then//这里是判断‘权限’表的id跟‘角色与权限’表里面的某个角色的权限是否一致
%>
<tr>
<td> <div align="center"> <%=rs2("names")%> </div> </td>
<td> <input name="id" type="checkbox" checked="checked"> </td>
</tr>
<%
End If
If rs3("rights") <> rs2("id") Then
%>
<tr>
<td> <div align="center"> <%=rs2("names")%> </div> </td>
<td> <input name="id" type="checkbox"> </td>
</tr>
<%
End If
rs3.movenext
loop
rs2.movenext
loop
%>
</table>
...全文
评论 4
收藏 已收藏
分享
返回顶部
steryzone
ASP 28,401 成员 356,940 内容