0

您好我正在尝试构建一个允许用户选择多个值的下拉菜单,我从数据库中查询 2 个值一个 id 和一个名称,我使用 id 作为值和名称作为选项的描述。但是,下拉菜单一次只允许我选择一个选项。如何允许选择多个值以及如何处理发布的多个值?

print"<select name='Category' id='nodes' size='4' multiple='multiple'>\n";
$db = adodbConnect();
$query = "Select * From nodes";
$result = $db -> Execute($query);
while($row=$result->FetchRow())
{
$cat = $row['id'];
$desc =$row['name'];
print "<option value='$cat'>$desc</option>\n";
}
print "</select>\n";
4

4 回答 4

0

您可以在 php 中处理多个值,例如-

<?php
header("Content-Type: text/plain");

foreach ($_GET['category'] as $selectedOption)
    echo $selectedOption."<br />";
?>
于 2013-03-29T06:39:50.157 回答
0

要以这种方式使用选择来选择多个值,您只需使用 Cmd (Mac) 或 Ctrl (Windows) 键并单击多个值。

要处理帖子:

<?php
  $categories = $_POST['category']; 

  foreach($categories as $category){
    //do stuff
  }
?>
于 2013-03-29T06:52:53.373 回答
0

只需尝试以下内容:

<?php
$db     = adodbConnect();
$query  = "Select * From nodes";
$result = $db -> Execute($query);
print "<select size=\"4\" multiple=\"multiple\" name=\"Category[]\">";
print "<option value='-' >Select from list</option>";
while ($row=$result->FetchRow()){
$cat  = $row['id'];
$desc = $row['name'];
print "<option value=$cat>$desc</option>";
}
print "</select>";
?>

我认为这可以帮助您解决问题。

于 2013-03-29T07:01:48.067 回答
0
$db = adodbConnect();
$query = "Select * From nodes";
$result = $db -> Execute($query);
$select='';
$select.="<select name='Category' id='nodes' size='4' multiple='multiple'>\n";
while($row=$result->FetchRow())
{
$cat = $row['id'];
$desc =$row['name'];
$select.="<option value='$cat'>$desc</option>\n";
}
$select.="</select>\n";
echo $select;

在帖子中,您将收到数组形式的值,例如,如果您选择两个选项而不是喜欢的选项array('1','2')

于 2013-03-29T06:35:48.763 回答