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

标签 php mysql forms

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

我创建了一个用于访问数据库的下拉列表选择,我希望将选择发送到 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"(如果您愿意)若要仅选择一个条目,请从您的选择中删除多个

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

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

关于php - 从 php 页面收集 MySQL 组合框选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23824411/

相关文章:

mysql - 根据另一个表的时间戳删除表数据库中的行

php - 将 Laravel 4 集成到现有的平面 PHP 站点中

html - 如何在不知道标签最大宽度的情况下设计具有垂直对齐字段的响应式表单?

jquery - 如何在页面刷新时保留<form>中的 'input',或者停止页面刷新?

javascript - 从外部 javascript 文件访问表单元素

PHP/MySQL : cannot print output to html selecting from table when match by ID but names works?

php - 在 footer.php Wordpress 中添加脚本 jquery

php - 即使表二为空或找到部分结果,也返回表一中的所有行

mysql - 将选择结果插入到多个表中

php - 如何从 PHP 中存储在我的数据库中的文本中获取前 n 个单词?