为了账号安全,请及时绑定邮箱和手机立即绑定

如何在PHP中分离在while循环中输出的复选框变量结果?

如何在PHP中分离在while循环中输出的复选框变量结果?

PHP
肥皂起泡泡 2022-09-03 17:28:28
我正在尝试编写一个出勤系统,当用户出席课程时,工作人员将选中一个框,然后程序将添加一个到当前相关客户的计数中。问题是输出寄存器,取自phpMyAdmin,它使用while循环,因此所有复选框都具有相同的变量名称。这是我到目前为止的代码...echo "<form 'action=badminreg.inc.php' method='post'>";      while ($row = mysqli_fetch_assoc($result)) {        echo "<tr><td>".$row['bookingID']."</td><td>".$row['firstName']."</td><td>".$row['surname']."</td><td><input type='checkbox' name='present' value='present'</td><td><input type='checkbox' name='incident' value='incident'</td></tr>";      }      echo "<input type='submit' name='reg-submit'>";      echo "</form>";      isset($_POST['reg-submit']);      $pres = $_POST['present'];我需要分离复选框输入,以便程序能够将单个用户与其他用户不同地标记出来。我对PHP有点陌生,因为这是我的A-level课程,所以有没有办法解决这个问题?任何帮助都会很棒。谢谢
查看完整描述

2 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

您可以将复选框元素的名称定义为数组,并将 as 值传递。bookingID

示例(未经测试):

$output = "<tr><td>{$row['bookingID']}</td><td>{$row['firstName']}</td><td>{$row['surname']}</td><td><input type='checkbox' name='present[]' value='{$row['bookingID']}'</td><td><input type='checkbox' name='incident[]' value='{$row['bookingID']}'</td></tr>";

然后包含一个数组,其中包含所选复选框的 ID。$_POST['present']$_POST['incident']


查看完整回答
反对 回复 2022-09-03
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

如果将其更改为“则”再次提交数据时,将在其中获得一个值数组,而不是单个值数组。(您将在数组中为每个具有实际选中该名称的复选框获得一个项目 - HTML表单的一个怪癖是,如果未选中该复选框,则根本不会提交其值)。name='present[]'$_POST["present"]


您还需要将复选框的 更改为客户(或预订,可能)的 ID,以便您可以确定选中了哪个框。value


当然,“事件”复选框也是如此。


所以你的目标是这样的东西,我想:


echo "<tr>

  <td>".$row['bookingID']."</td>

  <td>".$row['firstName']."</td>

  <td>".$row['surname']."</td>

  <td><input type='checkbox' name='present[]' value='".$row['bookingID']."'</td>

  <td><input type='checkbox' name='incident[]' value='".$row['bookingID']."'</td>

</tr>";


查看完整回答
反对 回复 2022-09-03
  • 2 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信