【问题标题】:populating a value field of a combo-box from a MySQL query从 MySQL 查询填充组合框的值字段
【发布时间】:2014-07-13 05:58:08
【问题描述】:

这个问题与以前的问题答案产生的问题有关! (就像这样)

我已经设置了一个简单的脚本来访问 MySQL 数据库并使用用户名填充下拉组合框,但它不会接受来自我的 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="select_users" style="position:absolute;width:466px;height:108px;">
<form name="select_user" method="POST" action="./page5.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 = "multiple"  id="users" style="position:absolute;left:93px;top:15px;width:200px;height:75px;z-index:12;">

<option value="test"> 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>

部分

<option value= <?php $username ?> > <?php echo  $username ?> </option>"

是什么导致了我认为没有分配变量值的问题

我正在使用以下脚本来调试和显示 POST 后应该在数组中的内容

<?php

if(isset($_POST['users'])) 
{
      $ausers = $_POST['users'];

  if(!isset($ausers)) 
  {
    echo("<p>You didn't select any users!</p>\n");
  } 
  else
  {
    $nusers = count($ausers);

    echo("<p>You selected $nusers user: ");
    for($i=0; $i < $nusers; $i++)
    {
      echo($ausers[$i] . " ");
    }
    echo("</p>");
  }
}

?>

它会输出数组中数据文件的数量,但不会显示它们的内容,这在强制回显变量后让我相信数组的值都是空的。

此选择的最终结果是将数组的每个条目存储为另一个 MySQL 查询的变量,如果这有助于使用正确的代码来实现结果。

谢谢!

【问题讨论】:

  • 我将在脚本的其余部分正常工作后更新 mysql 代码,我知道它可能很快就会停止生效。它只是简单地将 mysql_ 更改为 mysqli_ 不是吗?
  • 我知道这不是你想听到的,但你现在应该在养成坏习惯之前改变你的方法。

标签: php mysql arrays variables combobox


【解决方案1】:
<option value= <?php $username ?> 
                    ^----you forgot 'echo' here

没有回显,没有输出,你生成的html变成了

<option value=>foo</option>

【讨论】:

    【解决方案2】:

    我不确定这里的问题是什么,有时在处理数据库时虽然它会创建一个多维数组。如果是这种情况,您实际上并没有查看任何值。为了帮助您检查,请尝试对变量执行 var_dump 以查看有关数据的所有内容。它甚至会告诉你它是否真的是空的,它应该是这样的:

    echo var_dump($varName);
    

    这应该可以帮助您进行调试,也许可以帮助您发布一些更好的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 2013-11-03
      相关资源
      最近更新 更多