从Mysql中检索数据并存储在选项html标记中

时间:2014-12-21 19:14:08

标签: php html mysql select options

嘿,伙计们我坚持这个问题。我想要做的是从MYSQL中检索一些数据并将其存储在选项标签中。这是我的代码。

<?php
$user = "admin";
$password = "";
$db = "test";
$host = "localhost";
$cxn = mysqli_connect($host, $user, $password, $db);

$query = "SELECT ARTIST FROM music";
$results = mysqli_query($cxn, $query) or die("Connection could not be established");

echo "<select name='mediaType'>";
while ($row = mysqli_fetch_assoc($results))
{
    extract($row);
    echo "<option value=''>$row</option>\n";                                        
}
echo "</select>";
?>

在执行此功能后,选项标签中的输出为&#34; Array&#34;对于select元素中的所有选项。我尝试将来自php变量$ row的数据存储到一个数组中,然后循环抛出该数组并回显出数组中的每个索引,但结果是相同的。愿有人在这个问题上给我一些指导。谢谢所有帮助的人。

2 个答案:

答案 0 :(得分:1)

根据其他用户,extract()不是您想要的。 $row是一个数组,其中键是您的列名。使用这样的东西:

while ($row = mysqli_fetch_assoc($result)) {
    echo '<option value="">'.$row['ARTIST'].'</option>';
}

注意我如何更改引号;数组运算符不在双引号字符串中工作。

将来,要检查变量的内容,请查看使用var_dump(),它非常适合查看幕后发生的事情。

编辑:哦,如果你的表有一个数字主键ID,你可能应该使用它作为你的选择的值,以防止更改名称或人为输入错别字。

答案 1 :(得分:0)

为什么不这样做:

echo "<select name='mediaType'>";
while ($row = mysqli_fetch_assoc($results))
{
    echo "<option value='".$row['ARTIST']."'>".$row['ARTIST']."</option>";
}
echo "</select>";