2013-02-19 60 views
9

所以我在使用空值的验证while语句代码while else statement? PHP

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

?> 

我想实现是有一个“其他”的声明,虽然我的不能使用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(); 

?> 

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

+1

*当你想触发这个'else'条件吗?目前它和你的'while'条件相同,没有多大意义。请用文字描述逻辑。 – deceze 2013-02-19 07:11:09

+0

哪里是where语句? – 2013-02-19 07:11:52

+0

上面的where语句在哪里? – itachi 2013-02-19 07:12:29

回答

12

While-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(); 
+0

谢谢这个工作出色罚款。所以我要使用,如果首先,而不是循环谢谢你 – Yinks 2013-02-19 07:21:51

+0

不客气。祝你好运。 – Tieme 2013-02-19 07:23:26

0

while (!$rs->EOF){意思是“这样做,直到$rs->EOFtrue扛”。当它结束时,$rs-EOF将始终为真(否则循环不会结束),所以条件永远不会通过。

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

0

您应该检查结果集是不是空通过它试图循环。

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

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

if (rs.isEmpty()) 
    print "No data"; 
else 
{ 
    while (!rs.EOF()) 
    { 
     ... 
    } 
} 
-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(); 

?> 
1

我想提出一个稍微不同的方式来处理这一点,它使更多的意义上我头:

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

我认为它使我更有意义,因为你通常希望自己的预期结果被if块内处理,而其他的结果(S)在else块来处理。