2010-05-05 44 views
2

請幫忙,我無法在組合框中加載mysql數據。 我正在加載的數據是來自表格的1列。 這裏是我當前的代碼,它墜毀的Firefox出於某種原因:如何使用mysql數據填充html組合框

<td colspan=」2″>Religion</TD> 
<td> 
<select name="REL" onClick="submitCboSemester();"> 
<?php 
$query_disp="SELECT * FROM Religion ORDER BY RID"; 
$result_disp = mysql_query($query_disp, $conn); 
while($query_data = mysql_fetch_array($result_disp)) 
{ 
?> 
<option value="<? echo $query_data["RID"]; ?>"<?php if ($query_data["RID"]==$_POST['REL']) {?>selected<? } ?>><? echo $query_data["RELIGION"]; ?></option> 
<? } ?> 
</select> 
</td> 

列是RELIGION,它的ID是RID 如何填充組合框與列宗教中的所有數據

+0

換句話說,它適用於Firefox以外的瀏覽器?有時你不需要*太特殊*) – BalusC 2010-05-05 02:30:53

回答

3
<html> 
<title> 
demo </title> 
<body> 
<? 
// Load field datas into List box 
$cn=mysql_connect("localhost",root) or die("Note: " . mysql_error()); 
echo "Conn ok<br>"; 
$res=mysql_select_db("test",$cn) or die("Note: " . mysql_error()); 
echo " Database opened<br>"; 
$q="insert into usha2 (`sno`, `city name`) values (NULL, 'Nagercoil');"; 
//$q="INSERT into `test`.`usha2` (`sno`, `city name`) VALUES (NULL, 'Delhi');"; 
$res=mysql_query($q) or die("Note: " . mysql_error()); 
echo " record inserted<br>"; 
$res=mysql_query("select * from usha2;") or die("Note: " . mysql_error()); 
echo " qry executed<br>"; 
?> 
<select name="pno" size=1> 
<? 
while($ri = mysql_fetch_array($res)) 
{ 
echo "<option value=" .$ri['city name'] . ">" . $ri['city name'] . "</option>"; 
} 
echo "</select> " 
?> 
</body> 
4

機會是,您沒有在php.ini中啓用short_open_tag,這可能是導致您的代碼失敗的原因。

此外,你應該輸出selected="selected",不只是selected

試試這個:

<td colspan=」2″>Religion</TD> 
<td> 
<select name="REL" onClick="submitCboSemester();"> 
<?php 
$query_disp="SELECT * FROM Religion ORDER BY RID"; 
$result_disp = mysql_query($query_disp, $conn); 
while($query_data = mysql_fetch_array($result_disp)) 
{ 
?> 
<option value="<?php echo $query_data["RID"]; ?>"<?php if ($query_data["RID"]==$_POST['REL']) {?> selected="selected"<? } ?>><?php echo $query_data["RELIGION"]; ?></option> 
<? } ?> 
</select> 
</td> 
0

看起來有你的價值的結束和selected之間沒有空格。

1

在顯示數據之前提取數據!

<?php 
$query_disp="SELECT * FROM Religion ORDER BY RID"; 
$result_disp = mysql_query($query_disp, $conn); 
$options = array(); 
while ($query_data = mysql_fetch_array($result_disp)) { 
    $options[$query_data["RID"]] = $query_data["RELIGION"]; 
} 
?> 

<select name="REL" onClick="submitCboSemester();"> 
<?php foreach ($options as $key => $value) : ?> 
    <?php $selected = ($key == $_POST['REL']) ? 'selected="selected"' : ''; ?> 
    <option value="<?php echo $key ?>" <?php echo $selected ?>> 
    <?php echo $value ?> 
    </option> 
<?php endforeach; ?> 
</select> 
0

當你拉從您的數據庫,你應該使用以下格式你目前正在使用的格式數據被相:

而且也,混合PHP & HTML時使用PHP Alternative Syntax作爲出庫MySQLi前進

$religion = $db->query("SELECT Religion FROM TableName ORDER BY RID"); 

$ DB是這樣

創建的數據庫的連接10
$db = new Mysqli($server, $username, $password, $database); 

只需將該變量設置爲正確的值。

+0

這個問題是正確的,但不是問題的答案:爲什麼代碼崩潰的Firefox? – boisvert 2014-03-27 19:58:52