将函数值存储在变量中

时间:2016-05-28 07:13:06

标签: php

我的代码只生成一个结果,例如“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

3 个答案:

答案 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>";
}

它肯定会起作用