[英]Populating drop-down list with PHP not working
我正在嘗試使用PHP填充到我的網站的下拉列表,但未顯示任何內容。 如該圖所示為空。 在狀態下什么也沒顯示。
請幫助我從數據庫結果中獲取一些詳細信息。
我的代碼是:
<?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>
嘗試這樣的事情:
$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>
您不能以字符串顯示Array值,即使使用雙引號也是如此。
您必須使用大括號或串聯
echo "<option value='{$row[state]}'> {$row[state]} </option>";
要么
echo "<option value='".$row[state]."'> ".$row[state]." </option>";
嘗試這個:
echo "<option value='".$row['state']."'> ".$row['state']."</option>";
根據文檔, mysql_fetch_row()
從與指定結果標識符關聯的結果中獲取一行數據。 該行以數組形式返回。 每個結果列都存儲在從偏移量0開始的數組偏移量中。
這意味着您無法達到這樣的列名:$ row [“ state”]。
請嘗試:
echo "<option value='$row[0]'> $row[0] </option>";
但是,不建議使用mysql_query和mysql_fetch_row函數,它們將在PHP版本7中刪除。這對您來說也可能是一個問題。 考慮升級到更現代的與MySQL交互的方式。 您可以在這里找到替代方法:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.