【发布时间】:2017-05-11 17:14:27
【问题描述】:
我创建了一个表单,管理员可以为系统创建用户。我有一个单独的表,其中包含用户类型,例如:Admin、Manager ... 等。
我在我的表单中使用了一个 while 循环来从表格中拖动上述用户角色并绘制一组单选按钮。
我的问题是我想从我使用PHP 的普通管理器中隐藏“管理”选项,但它只隐藏了它自己的单选按钮而不是它旁边的文本,我的代码如下。
代码:
<div id="userRoles">
<label for="userRoles">User Role:</label><br>
<?php while ($row = $getUserRoleQuery -> fetch(PDO::FETCH_ASSOC)) { ?>
<input type="radio" class="userRoles" name="userRoles"
value="<?php echo $row["urId"]; ?>" <?php if ($_SESSION["uRole"] == "1" && $row["userRole"] == "Admin" ){?> hidden <?php } ?>><?php echo $row["userRole"]; }?>
</div>
我正在考虑使用 IF ... ELSE 让 while 循环跳过第一行,但我不知道该怎么做。
我只想隐藏管理员选项。
更新:在 mplungjan 和 Alive to Die 的帮助下,我解决了这个问题,我使用了 continue 方法,从我的角度来看,它更加精简,现在我的代码看起来像这样;
代码:
<div id="userRoles">
<label for="userRoles">User Role:</label><br>
<?php while ($row = $getUserRoleQuery -> fetch(PDO::FETCH_ASSOC)) {
if ($_SESSION["uRole"] !== "1" && $row["userRole"] == "Admin" ) continue ?>
<input type="radio" class="userRoles" name="userRoles" value="<?php echo $row["urId"]; ?>"><?php echo $row["userRole"]; }?>
</div>
【问题讨论】:
-
if ($row["userRole"] == "Admin") continue;
-
表示您不希望管理员登录时包含管理员的单选按钮??
-
@mplungjan 在发布我的问题之前我确实看过 PHP Continue,但我无法理解如何使用它。所以如果我使用你的建议,循环会从第二行继续吗?
-
@JagdishChaudhary 单选按钮及其后面的文本我上面的尝试只隐藏单选按钮而不是文本。
-
continue语句基本上说:立即跳转到循环的结束}- 它将“继续”下一次迭代,或者在迭代结束时停止(在while它将返回检查条件)。
标签: php while-loop