我正在尝试将填充了PHP的下拉列表添加到我的网站,但它没有显示任何内容。它是空的as shown in this image。在州内,它什么也没有显示。
请帮我从我的数据库结果中获取一些细节。
我的代码是:
<?php
$con=mysql_connect('localhost', '', '')or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db('')or die("Failed to connect to MySQL: " . mysql_error());
?>
<form>
<div class="form-group">
<div class="form-control-small">
<select id="search_status" name="state" data-placeholder="State">
<option value=""> </option>
<?php
$dd_res=mysql_query("Select DISTINCT state from MyTable");
while($row=mysql_fetch_row($dd_res))
{
echo "<option value='$row[state]'> $row[state] </option>";
}
?>
</select>
</div>
<div class="form-control-small">
<select id="search_bedrooms" name="dist" data-placeholder="District">
<option value=""> </option>
<?php
$dd_res=mysql_query("Select DISTINCT dist from MyTable");
while($r=mysql_fetch_row($dd_res))
{
echo "<option value='$row[dist]'> $row[dist] </option>";
}
?>
</select>
</div>
<div>
<button type="submit" class="btn btn-fullcolor">Search</button>
</div>
</div>
</form>
答案 0 :(得分:0)
尝试这样的事情:
$arr = array(1 => 'MP', 2 => 'UP');
echo '<select>';
foreach($arr as $key => $val)
{
echo '<option value="'.$key.'">'.$val.'</option>';
}
echo '</select>';
它会生成html,如:
<select>
<option value="1">MP</option>
<option value="2">UP</option>
</select>
答案 1 :(得分:0)
即使使用双引号,也无法在字符串中显示数组值。
您必须使用花括号或连接
echo "<option value='{$row[state]}'> {$row[state]} </option>";
或
echo "<option value='".$row[state]."'> ".$row[state]." </option>";
答案 2 :(得分:0)
试试这个:
echo "<option value='".$row['state']."'> ".$row['state']."</option>";
答案 3 :(得分:0)
根据文档,mysql_fetch_row()
从与指定结果标识符关联的结果中提取一行数据。该行作为数组返回。每个结果列都存储在一个数组偏移量中,从偏移量0开始。
这意味着您无法达到以下列名:$ row [“state”]。
尝试改为:
echo "<option value='$row[0]'> $row[0] </option>";
然而,不推荐使用 mysql_query 和 mysql_fetch_row 函数,它们将在PHP版本7中删除。它也可能是一个问题。考虑升级到更现代的与MySQL交互的方式。 你会在这里找到替代品: