首页 > 解决方案 > PHP - 如何只在循环中发布选中的复选框?

问题描述

我正在做一个项目,让学生注册特定的课程(“法语”、“数学”、...)。学生 ID 已被选中。真正的 while 循环我从我的数据库中显示我的类,每个类前面都有一个复选框。我只想以一种形式发布 te 选中的复选框,将其发送到一个 php 文件,该文件将学生和他选择的课程放入数据库。但是由于while循环的困难,我似乎无法解决我如何只发布选中的复选框。我希望有一个人可以帮助我。已经谢谢了!

标签: phppostmysqlicheckboxwhile-loop

解决方案


最好的方法可能是更改您的 HTML 以将类作为数组而不是单个表单元素发布。

<checkbox name="classes[]" value="CLASS_ID_1">
<checkbox name="classes[]" value="CLASS_ID_2">
<checkbox name="classes[]" value="CLASS_ID_3">
<checkbox name="classes[]" value="CLASS_ID_4">

那么,这方面的 PHP 就很容易了。只有选中的复选框值才会出现在处理页面上。

所以,假设有人检查CLASS_ID_1,CLASS_ID_3CLASS_ID_4;

print_r($_POST['classes']);

上面的代码应该返回;

array (
    "CLASS_ID_1",
    "CLASS_ID_3",
    "CLASS_ID_4"
)

所以,本质上,它是一个检查值的数组。这意味着您不需要类名或任何其他信息或循环来处理数据。


推荐阅读