在下拉菜单中显示数据库中的数据

时间:2014-03-24 10:07:02

标签: php html database drop-down-menu

我已成功获取我的PHP代码以连接到我的数据库并检索数据并显示它。我现在正在尝试获取此数据并将其显示在下拉菜单中,但是当我这样做时,下拉菜单会显示与数据库中的数据相关的正确数量的选项(即,如果有3个值,它会提供三个选项)在数据库中)。但它没有显示文本,所有选项都是空白的。关于它为什么没有显示文本的任何想法?

<?php
$dbhost= 'Host IP';
$dbuser ='My Username';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
$sql='SELECT event_id FROM events';
mysql_select_db('db_name');
$retval= mysql_query($sql, $conn);

echo'<select name=dropdown value=', '>Dropdown</option>';
while($r= mysql_fetch_array($retval))
{
echo "<option value={$r["event_id"]}>{$r["events"]}</option>";
}
echo "</select>";
?>

http://i.imgur.com/30Uq0Ok.png

链接是菜单当前返回的内容

由于

3 个答案:

答案 0 :(得分:2)

尝试这样(将您的查询更改为select *

echo '<option value='.$r["event_id"].'>'.$r["events"].'</option>';

答案 1 :(得分:2)

您没有从数据库中选择事件。您需要在查询中按名称选择所有(*)或必需的列。

更改您的查询:

$sql='SELECT event_id FROM events';

到:

$sql='SELECT * FROM events';

您还需要在引号内选择值。

在循环内更改此行:

echo "<option value={$r["event_id"]}>{$r["events"]}</option>";

为:

echo "<option value=\"{$r['event_id']}\">{$r['events']}</option>";

答案 2 :(得分:0)

您只是从表中选择event_id。因此,$r["events"]始终为空。 也选择标题字段。

<?php
$dbhost= 'Host IP';
$dbuser ='My Username';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
$sql='SELECT event_id,event_title FROM events';
mysql_select_db('db_name');
$retval= mysql_query($sql, $conn);

echo'<select name=dropdown value=', '>Dropdown</option>';
while($r= mysql_fetch_array($retval))
{
echo "<option value={$r["event_id"]}>{$r["event_title"]}</option>";
}
echo "</select>";
?>

我假设,字段名称是“event_title”。