[英]HTML Select Not Showing All Options
我有一個帶有動態select
選項的表單,該表單通過PHP從數據庫中獲取其選項。 主要問題是,盡管它正在運行,但未顯示數據庫中的第一條記錄。 這是代碼:
<select name="elevi" >
<?
$sql="Select * from elevi";
$query=mysql_query($sql)or die(mysql_error());
$result=mysql_fetch_array($query);
while($result=mysql_fetch_array($query)){
echo'<option value="'.$result['id_elev'].'">'.$result['nume']."".$result['prenume'].'</option>';
}
?>
</select>
刪除第一個$result=mysql_fetch_array($query);
該行基本上會丟棄第一條記錄。
在while循環中,您要做2件事,為$ result分配mysql_fetch_array()的結果,然后檢查該結果是否為null。
每次調用mysql_fetch_array()時,其內部數據指針都會向前移動一個,直到沒有更多選項,並且返回false為止。 這就是為什么可以使用while循環的原因。
因此,如果您先刪除了$result=mysql_fetch_array($query)
調用,就可以了。
您需要一次獲取一行
<select name="elevi" >
<?php
$sql="Select * from elevi";
$query=mysql_query($sql)or die(mysql_error());
while($result=mysql_fetch_row($query)){
echo'<option value="'.$result['id_elev'].'">'.$result['nume']." ".$result['prenume'].'</option>';}?>
</select>
或者在批量數據的情況下,獲取數組,然后遍歷數組(但是,通過一次調用獲取結果,使代碼更有效)
您正在使用$ result = mysql_fetch_array($ query); 兩次,應該使用一次,例如,
<select name="elevi" >
<?php
$sql="Select * from elevi";
$query=mysql_query($sql)or die(mysql_error());
while($result=mysql_fetch_row($query)){
echo'<option value="'.$result['id_elev'].'">'.$result['nume']." ".$result['prenume'].'</option>';}?>
</select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.