Php 如何获取所选复选框的两个或多个值?

Php 如何获取所选复选框的两个或多个值?,php,session,select,checkbox,Php,Session,Select,Checkbox,我有一份商业经理职位的候选人名单。选民需要选择至少两名候选人。我使用了复选框,以便选民可以进行多次选择。当投票人点击下一步按钮继续投票到其他职位时,两位被选中的业务经理应该被选中。问题是我可以得到两位,但名字相同 例如:选民被选中 John Smith and Harry Potter 当我获得该值时,结果仅为最后选择的人员。我注意到在我的支票收件箱中,我只使用了一个name=“choice”,因此不可能有两个……当我的列表是静态的时,我无法为每个支票收件箱指定不同的名称,但在

我有一份商业经理职位的候选人名单。选民需要选择至少两名候选人。我使用了复选框,以便选民可以进行多次选择。当投票人点击下一步按钮继续投票到其他职位时,两位被选中的业务经理应该被选中。问题是我可以得到两位,但名字相同

例如:选民被选中

        John Smith and Harry Potter
当我获得该值时,结果仅为最后选择的人员。我注意到在我的支票收件箱中,我只使用了一个name=“choice”,因此不可能有两个……当我的列表是静态的时,我无法为每个支票收件箱指定不同的名称,但在我的情况下,我使用动态方式将它们放置在支票盒数组中,这意味着它们具有相同的name=“choice”…我希望你理解我的观点…请帮助我..下面是我的代码实现

  • 填充复选框列表的结果:

        $result = mysql_query($QUERY);
                        while($row = mysql_fetch_object($result)){
                            $Name = $row->Name;
                            $PLName = $row->PLName;
                            $CID = $row->CID;
                            echo '<tr><td>';
                            echo '<img src="fetchImage.php?CID=' . $CID . ' " alt="Candidate photo" width="150px" height="135px" style="border:2px solid silver;">';
                            echo '</td>';
                            echo '<td><div class="contact_info_title">' . $Name . '</div><br>';
                            echo  $PLName . '<br><br>';
                            if(isset($_SESSION['VLPCCBusManager'])){
                                if($_SESSION['VLPCCBusManager'] == $CID){
                                    echo '<input type="checkbox" name="Choice" value=' . $CID . ' Checked>Select </td></tr>';
                                }else{
                                    echo '<input type="checkbox" name="Choice" value=' . $CID . '>Select </td></tr>';
                                }
                            }else{
                                echo '<input type="checkbox" name="Choice" value=' . $CID . '>Select </td></tr>';
                            }
                        }
                    echo '';
    
    }


  • 您需要将复选框的名称指定为:

    <input type="checkbox" name="choice[]" />
    

    我希望这可以解释您的疑问。

    您需要将复选框的名称指定为:

    <input type="checkbox" name="choice[]" />
    

    我希望这可以解释您的疑问。

    您需要将复选框的名称指定为数组:

    然后在数组中获取值,然后保存到数据库中

    您可以以不同的方式提及复选框名称,例如1、2、3、4、5、6。。然后使用表单发布值并将其作为数组获取 比如说

    $values[0]=$_POST['1'];
        $values[1]=$_POST['2'];
        $values[2]=$_POST['3'];
        $values[3]=$_POST['4'];
        $values[4]=$_POST['5'];
        $values[5]=$_POST['6'];
        $values[6]=$_POST['7'];
        $values[7]=$_POST['8'];
        $values[8]=$_POST['9'];
        $values[9]=$_POST['10'];
    
        and then u can implode it to a variable and save it in the database 
    
        $skill_set = implode(",", $values);
    

    您需要将复选框的名称指定为数组:

    然后在数组中获取值,然后保存到数据库中

    您可以以不同的方式提及复选框名称,例如1、2、3、4、5、6。。然后使用表单发布值并将其作为数组获取 比如说

    $values[0]=$_POST['1'];
        $values[1]=$_POST['2'];
        $values[2]=$_POST['3'];
        $values[3]=$_POST['4'];
        $values[4]=$_POST['5'];
        $values[5]=$_POST['6'];
        $values[6]=$_POST['7'];
        $values[7]=$_POST['8'];
        $values[8]=$_POST['9'];
        $values[9]=$_POST['10'];
    
        and then u can implode it to a variable and save it in the database 
    
        $skill_set = implode(",", $values);
    

    您必须将代码更改为

    name="choice[]"
    

    您必须将代码更改为

    name="choice[]"
    

    从复选框中获取多个值的步骤

  • 您需要将复选框的名称更改为如下数组
  • 如果只选中了复选框1和3,则可以得到如下值

    $\u POST['Choice'][0]
    =>具有已选中的第一个复选框的值

    因此,
    $\u POST['Choice'][0]
    的值为
    复选框1

    $\u POST['Choice'][1]
    =>具有已选中的第二个复选框的值


    因此,
    $\u POST['Choice'][1]
    将具有
    复选框3的值,以从复选框中获取多个值

  • 您需要将复选框的名称更改为如下数组
  • 如果只选中了复选框1和3,则可以得到如下值

    $\u POST['Choice'][0]
    =>具有已选中的第一个复选框的值

    因此,
    $\u POST['Choice'][0]
    的值为
    复选框1

    $\u POST['Choice'][1]
    =>具有已选中的第二个复选框的值


    所以
    $\u POST['Choice'][1]
    将有
    复选框3的值

    当它是动态形式时,我不熟悉使用数组。你能给我举个例子吗?当它是动态形式时,我不熟悉使用数组。你能给我举个例子吗?每当我点击任何一个复选框时,我如何阅读正确的帖子索引框?如果只选中一个复选框,则需要只读
    $\u POST['Choice'][0]
    ,如果未选中任何复选框,则它将不会进入
    $\u POST
    数组。例如,您有3个复选框。如果选中
    复选框1
    复选框3
    ,则它们对应的值将位于
    $\u POST['Choice'][0]
    $\u POST['Choice'][1]
    我正在撤回我的上一个请求..我分析了上面的样本,得到了逻辑…我真的做到了…是的…我非常感谢这件事…谢谢..我将两个变量替换为$_SESSION['VLPCCBusManager']=$_POST['Choice'][0]$_会话['VLPCCBusManager2']=$_POST['Choice'][1];我很高兴能帮助你。如果我的答案解决了您的问题,您可以接受我如何在单击任何复选框时读取正确的帖子索引?如果您只选中了一个复选框,那么您需要只读取
    $\u POST['Choice'][0]
    如果任何复选框未选中,它将不会进入
    $\u POST
    数组。例如,您有3个复选框。如果选中
    复选框1
    复选框3
    ,则它们对应的值将位于
    $\u POST['Choice'][0]
    $\u POST['Choice'][1]
    我正在撤回我的上一个请求..我分析了上面的样本,得到了逻辑…我真的做到了…是的…我非常感谢这件事…谢谢..我将两个变量替换为$_SESSION['VLPCCBusManager']=$_POST['Choice'][0]$_会话['VLPCCBusManager2']=$_POST['Choice'][1];我很高兴能帮助你。如果我的回答解决了你的问题,你可以接受
    $values[0]=$_POST['1'];
        $values[1]=$_POST['2'];
        $values[2]=$_POST['3'];
        $values[3]=$_POST['4'];
        $values[4]=$_POST['5'];
        $values[5]=$_POST['6'];
        $values[6]=$_POST['7'];
        $values[7]=$_POST['8'];
        $values[8]=$_POST['9'];
        $values[9]=$_POST['10'];
    
        and then u can implode it to a variable and save it in the database 
    
        $skill_set = implode(",", $values);
    
    name="choice[]"
    
    <input type="checkbox" name="Choice[]" />
    
     <input type="checkbox" name="Choice[]" value=" Checkbox 1"/> Checkbox 1<br>
     <input type="checkbox" name="Choice[]" value=" Checkbox 2"/> Checkbox 2<br>
     <input type="checkbox" name="Choice[]" value=" Checkbox 3"/> Checkbox 3<br>