HTML多选下拉列表在php中不返回多个值,只返回最后一个值而不是多个值


HTML multiple select dropdown not returning multiple values in php,returnong only the last value instead of multiple

我在html中有一个多选下拉字段,它必须返回多个值,但它只返回一个值。

 <select name="select[]"  multiple>
 <OPTGROUP label="cars">
 <option value="car1">car1</option>
 <option value="car2">car2</option>
 <option value="car3">car3</option>
 </OPTGROUP>
 <OPTGROUP label="bikes">
 <option value="bike1">bike1</option>
 <option value="bike2">bike2</option>
 <option value="bike3">bike3</option>

下面是返回所选多个值的 PHP:

 $select = mysqli_real_escape_string($link, $_POST['select']);

提前谢谢。

你的代码看起来不错。写选择标签如下:-

<select name="select[]" multiple="multiple">

现在打印它:-

    if(isset($_POST['select'])){
        $selected = $_POST['select']; 
        // Here $selected is an array. So need a foreach loop            
        foreach ($selected as $option)
        {
             print "You are selected $option<br/>";
             //print mysqli_real_escape_string($link, $option);
        }
    }
你必须

做两件事,首先检查你的表单方法,如果它不是POST,那么你不能像$_POST那样调用它,你必须使用$_GET或$_REQUEST并更改select[]以选择

<select name="select[]" multiple="multiple">

您可以通过以下方式检查

print_r($_POST['select']);
<select name="select[]" multiple="multiple">
if(isset($_POST['select'])){
    $selected = $_POST['select'];
    $select = implode(",",$selected);
}

使用内爆方法,在数据库中插入$select值....