如何在php中获取多个选定(动态)复选框的值?

Posted

技术标签:

【中文标题】如何在php中获取多个选定(动态)复选框的值?【英文标题】:How to get values of multiple selected (dynamic) checkbox in php? 【发布时间】:2014-12-01 11:09:10 【问题描述】:

我是初学者。我在一张桌子上显示了 10 个学生的学生 ID 和学生姓名。针对每个学生 ID,应该有一个 checkbox(动态)。当我点击添加按钮时,所有选中的学生详细信息(id、姓名)都必须插入另一个databasetable。我该怎么办?

【问题讨论】:

到目前为止你做了什么? 【参考方案1】:
<form method="post" action="pageurl">
        <input type="checkbox" name="studentid[]" value="1,Student1" />Student1
        <input type="checkbox" name="studentid[]" value="2,Student2" />Student2
        <input type="checkbox" name="studentid[]" value="3,Student3" />Student3
        <input type="checkbox" name="studentid[]" value="4,Student4" />Student4

        <input type="submit" />
        </form>
        <?php

        $id=$_POST['studentid'];
        foreach($id as $student)
        
        $extract = explode(',',$student);
        $query="INSERT INTO student (id,name) values ('$extract[0]','$extract[1]')";
        

        ?>

【讨论】:

危险:你很容易受到SQL injection attacks的影响,你需要defend你自己。【参考方案2】:

使用复选框名称作为数组, 示例:

<form method="post" action="" id="frm_id">
        <input type="checkbox" name="chkid[]" value="10,Anu" />Anu
        <input type="checkbox" name="chkid[]" value="11,Raj" />Raj
        <input type="checkbox" name="chkid[]" value="12,Ram" />Ram
        <input type="checkbox" name="chkid[]" value="13,xxx" />xxx
        <input type="checkbox" name="chkid[]" value="14,yyy" />yyyy
        <input type="checkbox" name="chkid[]" value="15,zzz" />zzz
        <input type="checkbox" name="chkid[]" value="16,qqqq" />qqqq
        <input type="submit" value="Insert"  name="sub"/>
        </form>
        <?php
        if(isset($_POST['sub']))
        
        $id=$_POST['chkid'];
        for($i=0;$i<count($id);$i++)
        
        $exp=explode(',',$id[$i]);//Explode id and name
        echo 'id='.$exp[0].',Name='.$exp[1];echo "<br>";
        echo $query="INSERT INTO tbl_student (id,name) values ('$exp[0]','$exp[1]')";echo "<br><br>";
        
        
        ?>

【讨论】:

我认为我对复选框 。错了吗? 危险:你很容易受到SQL injection attacks的影响,你需要defend你自己。 @MIA 使用 php 标签,【参考方案3】:

尝试使用这样的复选框元素数组:

<input type="checkbox" name="months[]" value="feb">February<br>
<input type="checkbox" name="months[]" value="mar">March<br>
<input type="checkbox" name="months[]" value="apr">April<br>

【讨论】:

以上是关于如何在php中获取多个选定(动态)复选框的值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 asp.net checkboxlist 中设置多个选定的值

如何检索名称 | Listview中多个选中项目的值对?

如何从动态创建的 CheckBox 中获取选定的值?

如何使用jQuery获取所有选中复选框的值

如何将多个选定的(通过复选框)行 ID 传递给 jQuery 中的 php 脚本?

如何使用 JQuery 从动态 html 表中获取选定的行值?