php multiselect dropdown从mysql获取数据

时间:2014-06-12 15:24:09

标签: php html mysql drop-down-menu multi-select

我想在我的表单中创建一个多选下拉列表,该列表允许用户选择多个国家/地区,并且还可以根据需要删除他们选择的项目。

我可以创建一个下拉列表,从mysql表中提取国家/地区的名称,但它允许用户只选择一个国家/地区。我搜索了很多选择下拉列表,但我找到的样本都没有从mysql中获取数据。他们只有几个选项,可以轻松编写选项值,如How to access the values selected in the multiselect dropdown list in PHP?

这是我的代码,通过它只能选择一个项目:

<?php
mysql_connect('localhost', 'root', 'password');
mysql_select_db('imdb');

$sql2 = "SELECT country FROM countries";
$result2 = mysql_query($sql2);

echo "<select name='country'>";
while ($row = mysql_fetch_array($result2)) {
    echo "<option value='" . $row['country'] . "'>" . $row['country'] . "</option>";
}
echo "</select>";
?>

1 个答案:

答案 0 :(得分:0)

最后,我找到了我想要的东西。所以我分享它,因为对那些有类似问题的人可能有用。

首先,正如Marc所说,我必须添加多个如下:

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

这是我正在搜索的html行:

<option value="<?php echo $row['country'];?>"> <?php echo $row['country'];?> </option>

其中country是我的数据库中相关字段的名称。

可能值得一提的是,为了将结果插入数据库(例如表名=“test”,字段名=“q5”:

<?php
mysql_connect("hostname", "user name", "user password") or die(mysql_error());
mysql_select_db("db name") or die(mysql_error());

$q5 = implode(',', $_POST['countrylist']);
 if(isset($_POST['submit']))
 {       
   $query="INSERT INTO test (q5) values ('". $q5 ."')";

    mysql_query($query) or die (mysql_error() );

   }
?>

它对我有用,希望对其他人有用。