2012-12-28 70 views
1

我有我的PHP腳本的某一部分:同步HTML,PHP的組合框數據庫

<? 
    $cn=mysql_connect("localhost","root") or die("Note: " . mysql_error()); 
    $res=mysql_select_db("psi",$cn) or die("Note: " . mysql_error()); 
    $sql = "select names from list;"; 
    $res=mysql_query($sql) or die("Note: " . mysql_error()); 
?> 
<select name="namez" size=1> 
<? 
    while($ri = mysql_fetch_array($res)) 
    { 
    echo "<option value=" .$ri. "</option>"; 
    } 
echo "</select> "; 
?> 

我要讓下拉框中已經從「名稱」字段通過我的數據庫採取了菜單,但它仍然沒有菜單?

+0

那麼是什麼阻止你這樣做? – dbf

回答

1

它應該是:

<select name="namez"> 
<? 
    while($row = mysql_fetch_assoc($res)) 
    { 
    echo '<option value="'.$row['names'].'">'.$row['names'].'</option>'; 
    } 
    echo "</select> "; 
?> 
+0

好的謝謝,它適用於:echo「」; – andrian

+1

好聽!另一件事:我建議從你的SQL查詢中刪除尾部的分號,如'select names from list';'因爲查詢中的分號可能會導致問題,這取決於你使用的是哪個數據庫和驅動程序。在我的示例中,否則如果值包含空格,則可能會遇到問題。如果我的建議適用於您,是否將其標記爲答案?謝謝! – SaschaM78

0

$裏將是一個數組,所以儘量

'<option value="' . $ri['dbColname'] . '">' . $ri['dbColname'] . "</option>"; 
0

$裏只是你的結果的一個因素。首先,您需要從中獲取名稱並顯示它。你的表中的字段名稱是什麼?因此,它會像

echo "<option value=" .$ri["id"].">".$ri["name"]. "</option>";