【问题标题】:First row of table is not showing in drop down list表格的第一行未显示在下拉列表中
【发布时间】:2019-07-07 05:40:52
【问题描述】:

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

<?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> 

【问题讨论】:

    标签: php mysql sql mysqli


    【解决方案1】:

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

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

    $options = "";
    if (mysqli_num_rows($query) > 0) {
        while ($row = mysqli_fetch_array($query)) {
    

    【讨论】:

    • 谢谢@Qirel :)
    【解决方案2】:

    删除:$result=mysqli_fetch_assoc($query); 它正在删除您的第一条记录

    【讨论】:

    • 谢谢@Ashu :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多