[英]Displaying comma delimited array values into checkbox php
我正在尝试在我的脚本中提供基于角色的访问权限。 这是我的代码和表格的示例
我想以复选框格式显示用户可以访问的页面。 我试着喜欢这个
$sql = "SELECT p.page_id AS pid,
p.page,
p.link,
ra.pages AS rpage
FROM pages p
INNER JOIN role_access ra
WHERE p.page_id IN (ra.pages) AND ra.role=1";
$query = mysqli_query($con, $sql) or die(mysqli_error($con));
$checked_arr = array();
while($row = mysqli_fetch_array($query)) {
$checked_arr = explode(",",$row['rpage']);
foreach ($checked_arr as $page) {
echo "<br/><input type='checkbox' name=\"pages[]\" value='$page' />$page<br>";
}
对于var_dump($row['page'])
显示这样string 'New' (length=3)
只有一页被显示。
它给了我带有 page_id 的复选框,但我想在每个复选框的前面显示 p.page 值。 怎么做?
这是我的表结构。
页表
page_id | page | link
1 | New | new.php
2 | Edit | edit.php
3 | Details | details.php
4 | Report | export.php
角色表
role_id | role_name
1 | Admin
2 | User1
角色访问表
id | pages | role
1 | 1,2,3,4 | 1
2 | 3,4 | 2
我已经像这样规范化了 role_access 表
rid | page_id | role
1 | 1 | 1
2 | 2 | 1
3 | 3 | 1
4 | 4 | 1
5 | 1 | 2
6 | 3 | 2
并得到了我想要的 output
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.