簡體   English   中英

HTML選擇不顯示所有選項

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM