Php 对于每个选中的表单选项,添加到mysql

Php 对于每个选中的表单选项,添加到mysql,php,mysql,forms,select,Php,Mysql,Forms,Select,我有一个多选表格: <form method="post" action="register_results.php" name="registerform" class="form-horizontal" role="form"> <div class="label">Select Name:</div> <select name="names" multiple="yes" size="15"> <option

我有一个多选表格:

<form method="post" action="register_results.php" name="registerform" class="form-horizontal" role="form">

    <div class="label">Select Name:</div>
    <select name="names" multiple="yes" size="15">
    <option value = "">---Select---</option>
    <?php
    while ( $row=mysqli_fetch_assoc($result)) {
      echo "<option value='".$row['registrant_name']."'>".$row['registrant_name']."</option>";
    }
    mysqli_close($con);
    ?>
    </select>  
</form>

如果表单中选择了多个名称,我希望能够添加多个mysql行(每个用户名一行)。如何操作?

将表单选择元素名称从“名称”更改为“名称[]”,然后您可以访问一个已发布值数组,然后可以对其进行迭代。

将表单选择元素名称从“名称”更改为“名称[]”然后,您可以访问一个发布值数组,然后可以对其进行迭代。

将表单选择元素名称从“名称”更改为“名称[]”,然后您可以访问一个发布值数组,然后可以对其进行迭代。

将表单选择元素名称从“名称”更改为“名称[]”然后,您可以访问一个已发布值的数组,然后可以对其进行迭代。

您的代码中需要做一些更改

<select name="names" multiple="yes" size="15">
              ^^^^^

将是一个数组

您的代码中需要做一些更改

<select name="names" multiple="yes" size="15">
              ^^^^^

将是一个数组

您的代码中需要做一些更改

<select name="names" multiple="yes" size="15">
              ^^^^^

将是一个数组

您的代码中需要做一些更改

<select name="names" multiple="yes" size="15">
              ^^^^^
将是一个数组

使用

<select name="names[]" multiple="yes" size="15">
使用

使用

使用


首先按如下方式更改表单(在Sql中使用Id而不是名称(字符串)更优雅、更快捷):


首先按如下方式更改表单(在Sql中使用Id而不是名称(字符串)更优雅、更快捷):


首先按如下方式更改表单(在Sql中使用Id而不是名称(字符串)更优雅、更快捷):


首先按如下方式更改表单(在Sql中使用Id而不是名称(字符串)更优雅、更快捷):



如果启用了multi-select,您将收到一个$\u POST['names']的数组,您可以从那里开始。。编辑:需要更改的是名称从names改为names[]@Naruto谢谢,但这对我来说并不起作用。检查ajaykumartak的答案,希望你能理解..效果很好,谢谢大家:)如果启用了multi-select,你将收到一个数组,用于$_POST['names',,你可以从那里开始。。编辑:需要更改的是名称从names改为names[]@Naruto谢谢,但这对我来说并不起作用。检查ajaykumartak的答案,希望你能理解..效果很好,谢谢大家:)如果启用了multi-select,你将收到一个数组,用于$_POST['names',,你可以从那里开始。。编辑:需要更改的是名称从names改为names[]@Naruto谢谢,但这对我来说并不起作用。检查ajaykumartak的答案,希望你能理解..效果很好,谢谢大家:)如果启用了multi-select,你将收到一个数组,用于$_POST['names',,你可以从那里开始。。编辑:需要更改的是名称从名称改为名称[]@Naruto谢谢,但这对我来说并不起作用。请查看ajaykumartak的答案,希望您能理解..非常好,谢谢大家:)您想用逗号分隔存储数据,或者每个选择在数据库中都有自己的条目您想用逗号分隔存储数据,或者每个选择在数据库中都有自己的条目您想用逗号分隔存储数据,或者每个选择在数据库中都有自己的条目您想存储数据以逗号分隔,或者每个选择在数据库中都有自己的条目
<select name="names" multiple="yes" size="15">
foreach($_POST['names'] as $value)
{
//your query goes here
}
<select name="ids[]" multiple size="15">
    <option value = "">---Select---</option>
     <?php
       while ( $row=mysqli_fetch_assoc($result)) {
      echo "<option value='".$row['registrant_id']."'>".$row['registrant_name']."</option>";
}
     mysqli_close($con);
?>
</select> 
 $registrant_ids = $_POST['ids'];
 $event_result = $_POST['result'];
 foreach($registrant_ids as $id)
   {
     $query = "UPDATE events_regged SET result = $event_result WHERE event_name='event10' AND registrant_id=".$id;
     $result = mysqli_query($con, $query);
   }