簡體   English   中英

而其他聲明? PHP

[英]while else statement? PHP

所以我使用while語句驗證了null值

while (!$rs->EOF){ 
    echo "<tr><td>".$rs->Fields("Branch")."</td>";
    $rs->movenext();
}
$rs->Close();   

?>

我想要實現的是擁有一個“else”語句,雖然我知道使用where語句是不可能的。 哪一個在where語句中相當於它?

while (!$rs->EOF){ 
    echo "<tr><td>".$rs->Fields("Branch")."</td>";
    $rs->movenext();
}
if(!$rs->EOF)
{
    echo "<tr><td> Branch is missing</td>";
}
$rs->Close();   

?>

我嘗試使用“如果”我沒有得到任何錯誤,雖然它沒有打印我想要打印的內容

雖然-Else在php中不存在。

你可以使用:

if ($rs->EOF) {
    echo "<tr><td> Branch is missing</td>";
} else {
    while (!$rs->EOF){ 
        echo "<tr><td>".$rs->Fields("Branch")."</td>";
        $rs->movenext();
    }
}
$rs->Close(); 

我想提出一種稍微不同的方法來解決這個問題,它讓我的頭腦更有意義:

if (!$rs.EOF()) {
    while (!$rs.EOF()) {
        // code...
    }
}
else {
    // code...
}

我認為這對我更有意義,因為您通常希望在if塊中處理您的預期結果,並在else塊中處理其他結果。

while (!$rs->EOF){表示“繼續執行此操作,直到$rs->EOFtrue ”。 當它結束時, $rs-EOF將始終為真(否則循環將不會結束),因此條件將永遠不會通過。

您需要在某個時刻(可能 while循環之前 )進行測試,以查看是否找到了任何結果。 在不知道您正在使用哪個庫的情況下,無法說明如何執行此操作。

嘗試循環之前 ,您應該檢查結果集是否為空。

例如像這樣的偽代碼:

rs = sql("SELECT ...");

if (rs.isEmpty())
    print "No data";
else
{
    while (!rs.EOF())
    {
        ...
    }
}

我認為下面的代碼可以幫到你,

<?php while (!$rs->EOF){ 

     if($rs->Fields("Branch"))
     {
      echo "<tr><td>".$rs->Fields("Branch")."</td>";
     $rs->movenext();
     }else{
      echo "<tr><td> Branch is missing</td>";
     }
}

$rs->Close();   

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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