php mutiselect下拉列表,它从mysql获取数据

问题描述 投票:1回答:2

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

我可以创建一个下拉列表,从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>";
?>
php html mysql drop-down-menu multi-select
2个回答
1
投票

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

首先,正如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() );

   }
?>

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


0
投票

我尝试这个东西。它的工作非常好。但是现在我尝试检索表中多个选定的存储值以进行显示。我如何以表格和列表形式显示?手段....(Value1,Value2,Value3)显示在数据库中。我想以列表形式显示:

  • Value1
  • Value2
  • Value3等...
© www.soinside.com 2019 - 2024. All rights reserved.