我已經按照其規範將html5和PHP組合在一起編碼此頁面。我的問題是,當我將頁面連接到特定的數據庫(我在這個頁面上做了兩次)時,第二個連接顯示了我完美佈局的表格中的值,但第一個連接給了我一個帶有空白空間的下拉菜單。該菜單假設按照字母順序顯示所有50個狀態,就像他們在我的表格下面顯示的那樣。菜單中的空白空間似乎高達50個州,我只是沒有在這些字段中顯示任何文本。我錯過了什麼?我在本網站上對其他問題嘗試過幾種不同的方式,但最終得到相同的結果。爲什麼我的數據庫中的值不會顯示在我的下拉菜單中?
下面是HTML和PHP的一部分:
<html>
<body>
<form>
<!-- Drop Down set up for Database -->
<select name = "state">
<option value ="default">Select a State</option>
<!-- Retrieve Data from Database -->
<?php
$db=pg_connect("dbname=etc..");
$query = "select state_name";
$query .= " from state_t";
$query .= " order by state_name";
$dbResult = pg_query($query);
if (!$dbResult)
{
die("Database error...");
}
$num = pg_num_rows($dbResult);
if ($num == 0)
{
echo '<tr><td colspan="2">';
echo 'Database Query Retrieved Nothing!</td></tr>';
}
while ($num = pg_fetch_array($dbResult))
{
$state_name = pg_Result($dbResult,'state_name');
echo '<option value="$num[$state_name]"</option>';
}
?>
</select>
</form>
</body>
</html>
這樣每個選項將具有相同的值,字符串'$ num [$ state_name]' – mishu
這是因爲「$ state_名稱「永遠不會改變。您可以通過「$ state_name」從「$ num」中獲取值。你可以告訴我你的$ state_name的var_dump嗎? – Tyralcori
不,這是因爲變量和轉義序列沒有在單引號之間的字符串中展開。你可以在這裏閱讀更多關於字符串的信息http://php.net/manual/en/language.types.string.php – mishu