从php页面收集MySQL组合框选择


collecting the MySQL combobox selection from a php page

我之前发布了类似的内容,但我认为我解释得不太好,所以我将包含一个更大的代码片段来突出我的问题。

我创建了一个用于访问数据库的下拉列表选择,我希望将该选择发送到php页面并提取以供使用。

下拉列表访问数据库并根据需要提取不同的条目,但在选择一个并提交后,我不知道如何在另一端收集变量。

为了这个例子的目的,我将变量发送到传输页面,并让另一个php脚本收集变量并回显内容。

发送页面---------------

 # parameters for connection to MySQL database
              $hostname="";
              $database="";
              $ausername="";
              $apassword="";
              mysql_connect ("$hostname","$ausername","$apassword");
              mysql_select_db ("$database");
$query = mysql_query("SELECT DISTINCT username FROM dbusers") or die(mysql_error());
?>


<div id="seelct_users" style="position:absolute;width:466px;height:108px;">
<form name="select_user" method="POST" action="./index.php" id="Form1">
<div id="select_a_user"     style="position:absolute;left:0px;top:20px;width:100px;height:20px;z-index:11;text-    align:left;">
<span style="color:#000000;font-family:Arial;font-size:15px;">Select User</span></div>
<select name="users" multiple size="1" id="users" style="position:absolute;left:93px;top:15px;width:200px;height:75px;z-index:12;">
<option value=""> Select a user</option>
     <?php
     while($row = mysql_fetch_assoc($query)){
        $username = $row["username"];
    ?>
  <option value= <?php $username ?> > <?php echo  $username ?> </option>
    <?php
      }?>
</select>
<input type="submit" id="Button1" name="" value="Submit" style="position:absolute;left:93px;top:100px;width:96px;height:25px;z-index:13;">
</form>
    </div>

在一个单独的脚本中的同一页上有

<?php
$search =$_POST['username'];
echo $search; 
?>

这是为了模拟处理页面接收变量以供使用,但它不能接收任何内容。

我一定不是很接近,就是完全找错了树,但我似乎找不到它在做什么的答案,有人能在这里解释我的错误吗。

感谢

您的元素名为users,但您使用的是$_POST['username'];。使用$_POST['users'];此外,对于多选,您需要将其用作数组,这样您就可以读取多个值。

<select name="users[]" multiple>

这将确保您在PHP中将其作为数组获得。

虽然你的size="1"让它有点没用。。。如果要选择多个条目,请删除size="1";如果只选择一个条目,则从选择中删除multiple

当然,对于数组,不能只使用echo $_POST['users'];,还需要遍历数组的所有值。

foreach ($_POST['users'] as $username) {
    echo $username;
}