虽然声明跳过拳头排

时间:2017-06-10 20:17:39

标签: php database function if-statement while-loop

我认为由于if语句,while语句会跳过第一个语句。

但我需要IF,我需要WHILE。

这是我的代码:

            if($row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select)){
            while($row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select)){
                $antwoorden .= "".$row_antwoorden_select['naam']."".$row_antwoorden_select['methode']." <a href='".$row_antwoorden_select['url']."'>Open</a><br>";  
                $once_info = "<h4>Antwoorden:</h4>".$select_menu."<br>";
            }
        }

2 个答案:

答案 0 :(得分:1)

看起来您的if语句只是检查查询是否有结果。如果这是真的,并且您确实希望保留if语句,则可以将其更新为使用mysqli_num_rows()代替:

if(mysqli_num_rows($results_antwoorden_select) > 0) {
    while($row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select)){
        $antwoorden .= "".$row_antwoorden_select['naam']."".$row_antwoorden_select['methode']." <a href='".$row_antwoorden_select['url']."'>Open</a><br>";  
        $once_info = "<h4>Antwoorden:</h4>".$select_menu."<br>";
    }
}

注意:如果没有任何结果, mysqli_fetch_array()将返回null,因此从技术上讲,完全取消if块会让您的示例代码正常工作完全没问题。

或者,如果确实希望将mysqli_fetch_array()保留在if块中,则可以将您的循环更新为do/while

if($row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select)) {
    do {
        $antwoorden .= "".$row_antwoorden_select['naam']."".$row_antwoorden_select['methode']." <a href='".$row_antwoorden_select['url']."'>Open</a><br>";  
        $once_info = "<h4>Antwoorden:</h4>".$select_menu."<br>";
    } while($row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select));
}

答案 1 :(得分:0)

您在$row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select)语句中使用if这绝对是错误的,因为您必须使用num_rows函数检查表中的可用行数您应该尝试这将解决你的问题

if($results_antwoorden_select->num_rows > 0){
    while($row_antwoorden_select = mysqli_fetch_array($results_antwoorden_select)){
    $antwoorden = "".$row_antwoorden_select['naam']."".$row_antwoorden_select['methode']." <a href='".$row_antwoorden_select['url']."'>Open</a><br>";  
    $once_info = "<h4>Antwoorden:</h4>".$select_menu."<br>";
    }
}