在html下拉输入中显示php数组

时间:2013-03-19 14:31:14

标签: php

我创建了一系列网页,一个用户创建用户到一个sql数据库,另一个页面查找所有这些用户,然后需要在另一个数据库输入的下拉列表中显示它们。 在调用php文件并使用echo打印出数组时,它工作正常但是当我把它放在我的html文件中时,下拉菜单只显示“$ username_array [] =”\“”。$ row ['Username']。 “”\“一旦我相信它与逃避报价有关,但无法弄清楚任何帮助将不胜感激!!

这是html文件中保存的代码

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db = 'fid';

echo "<label class=\"input\" for=\"investigator\" type=\"input\">Investigator:<select id=\"investigator\" name=\"investigator\">"; 

$conn = mysql_connect($dbhost,$dbuser,$dbpass);
if (!$conn)
die('Could not connect: ' . mysql_error());

mysql_select_db($db);

$username_array = array();
$sql = mysql_query("SELECT `Username` FROM `user`");
while ($row = mysql_fetch_array($sql)){
//echo $username_array[] = "\"".$row['Username']."\"";
echo "<option value='null'>"$username_array[] = "\"".$row['Username'].""\"</option>";
}
echo "</label>";

mysql_close($conn)
?>

我希望用户名数组在下拉列表中一个接一个地显示一个用户,但是当前只是在没有任何解释的情况下回显选项值行

更新

我现在已将代码更改为此

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db = 'fid';

$conn = mysql_connect($dbhost,$dbuser,$dbpass);
if (!$conn)
die('Could not connect: ' . mysql_error());

mysql_select_db($db);

echo '<select id="investigator" name="investigator">';
$resource = mysql_query("SELECT `Username` FROM `user`");
if($resource && mysql_num_rows($resource)) {
    while ($row = mysql_fetch_assoc($resource)){
        echo '<option value="'.$row['Username'].'">'.$row['Username'].'</option>';
    }
}
echo '</select>';
mysql_close($conn)
?>

然而,html输出脚本而不是下拉列表和用户名

html输出

'; $ resource = mysql_query(“SELECT Username FROM user”); if($ resource&amp;&amp; mysql_num_rows($ resource)){while($ row = mysql_fetch_assoc($ resource)){echo'';回声''; mysql_close($ conn)?&gt;

任何帮助都会被指定我真的需要让它工作,因为它已经困扰了我好几天了!

2 个答案:

答案 0 :(得分:1)

这将满足您的需求

echo '<select id="investigator" name="investigator">';
$resource = mysql_query("SELECT `Username` FROM `user`");
if($resource && mysql_num_rows($resource)) {
    while ($row = mysql_fetch_assoc($resource)){
        echo '<option value="'.$row['Username'].'">'.$row['Username'].'</option>';
    }
}
echo '</select>';

但是你也应该移动到mysqli或PDO,因为mysql_ *已被折旧

我已将$ sql更改为$ resource,因为它不是SQL语句而是资源。

答案 1 :(得分:0)

我会将您的代码更改为类似的内容:

echo "<select>";
while ($row = mysql_fetch_array($sql)) {
    echo "<option value=\"VALUE\">".$row['Username']."</option>";
}
echo "</select>";