我在下拉列表中显示电子邮件,但在下拉列表中未显示表格的第一封电子邮件,以下是我的代码,请检查:
<?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)) {