我想在我的表单中创建一个多选下拉列表,该列表允许用户选择多个国家/地区,并且还可以根据需要删除他们选择的项目。
我可以创建一个下拉列表,从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>";
?>
答案 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() );
}
?>
它对我有用,希望对其他人有用。