我的代码只生成一个结果,例如“admin”,然后生成错误。你能告诉我如何解决这个问题并显示所有结果。
while($row = mysqli_fetch_assoc($query)) {
$role = $row['userrole'];
Function RoleFunction($roles){
if ($roles==1) {
echo " Admin";
}
else {
echo " User";
}
}
$test = RoleFunction($role);
echo "<tr>";
echo "<td>".$test."</td>";
echo "</tr>";
}
结果:管理员
致命错误:无法重新声明RoleFunction()(之前在E:\ xampp \ htdocs \ meds \ delete.php:50中声明) 第50行的E:\ xampp \ htdocs \ meds \ delete.php
答案 0 :(得分:3)
将你的函数RoleFunction($ roles)保留在循环之外。
function RoleFunction($roles){
if ($roles == 1) {
return " Admin";
}
else {
return " User";
}
}
while ($row = mysqli_fetch_assoc($query)) {
$role = $row['userrole'];
// Print the role
echo "<tr><td>".RoleFunction($role)."</td></tr>";
}
试试上面的代码。它应该工作。
答案 1 :(得分:1)
我瘦这会起作用......
Function RoleFunction($roles){
while($row = mysqli_fetch_assoc($query)) {
$role = $row['userrole'];
if ($roles==1) {
echo " Admin";
}
else {
echo " User";
}
$test = RoleFunction($role);
echo "<tr>";
echo "<td>".$test."</td>";
echo "</tr>";
}
}
答案 2 :(得分:0)
你的函数是循环的,它应该是这样的外部循环:
function RoleFunction($roles){
if ($roles == 1) {
return "Admin";
} else {
return "User";
}
}
while ($row = mysqli_fetch_assoc($query)) {
$role = $row['userrole'];
// Print the role
echo "<tr><td>".RoleFunction($role)."</td></tr>";
}
它肯定会起作用