选择多个(PHP和MySQL)

Dan*_*ett 1 php mysql

我有一个带有选择倍数的表单,如下所示:

<select name="states[]" size="5" multiple>
    <option value="2">state 1</option>
    <option value="3">state 2</option>
    <option value="4">state 3</option>
    <option value="5">state 4</option>
    <option value="6">state 5</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我希望有可能选择多个状态,然后对我的数据库进行查询并显示所选择的每个状态的描述.

这就是我必须使用PHP和MySQL进行查询:

$state = $_POST['states'];
$data = mysql_query("SELECT * from states WHERE id_state = '$state'",$db); 

while($row = mysql_fetch_array($data)){
    $result=$row['description'];
}

echo $result;
Run Code Online (Sandbox Code Playgroud)

我有那个代码,它没有显示任何内容.

我该如何解决这个问题?

Tam*_*n C 7

试试这个

$state = $_POST['states']; // return Array
$count_states = count( $state );

if( $count_states > 0) {
    $states = implode( ',', $state);
    $data = mysql_query("SELECT * from states WHERE id_state IN ($states)",$db); 

    while($row = mysql_fetch_array($data)){
       echo $row['description'];
    }
}
Run Code Online (Sandbox Code Playgroud)