PHP-表的第一行未显示在下拉列表中

我在下拉列表中显示电子邮件,但在下拉列表中未显示表格的第一封电子邮件,以下是我的代码,请检查:

<?php
$email = $_POST['email'];
$query= mysqli_query($conn," SELECT email FROM register");
$options="";
$result=mysqli_fetch_assoc($query);
if(mysqli_num_rows($query) >0){
    while($row=mysqli_fetch_array($query)){
        $options.= '<option '.(($row[0]==$email)?'selected="selected"':"").'>'.$row[0].'</option>';
    }
}
?>
<select name="email" id="email">
    <option value="" disabled="" selected="">SELECT EMAIL</option>
    <?php echo $options;?>
</select> 

解决方法:

您在循环之前获取第一行(即使您不使用结果),因此,当循环开始时,它将从第二条记录开始,因为在第一次mysqli_fetch_assoc()调用之后将指针移到了第二条记录.

只需删除$result = mysqli_fetch_assoc($query);.

$options = "";
if (mysqli_num_rows($query) > 0) {
    while ($row = mysqli_fetch_array($query)) {
上一篇:Jquery对回复者添加匿名评论选项


下一篇:PHP-使用带有复选框和联接表的daterange过滤数据