而其他声明? PHP

时间:2013-02-19 07:07:59

标签: php

所以我使用while语句验证了空值,代码是

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();   

?>

我尝试使用“如果”我没有得到任何错误,虽然它没有打印出我想要打印的内容

4 个答案:

答案 0 :(得分:12)

虽然在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(); 

答案 1 :(得分:0)

while (!$rs->EOF){表示“继续执行此操作,直到$rs->EOFtrue”。当它结束时,$rs-EOF将永远为真(否则循环不会结束),因此条件永远不会通过。

您需要在某个时间点(可能 while循环之前)进行测试,以查看是否找到了任何结果。如果不知道你正在使用什么库,就不可能说如何做到这一点。

答案 2 :(得分:0)

在尝试循环之前,您应该检查结果集是否为空

E.g。像这样的伪代码:

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

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

答案 3 :(得分:-1)

我认为下面的代码可以帮到你,

<?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();   

?>