2013-02-19 9 views
9

コードは私が達成したかった何while else文? PHP

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

?> 

ですwhile文だから私は使用してnull値で検証を持っているが、私はどこのステートメントを使用して、そのことはできませんを知っているのに、「それ以外」の文を持つことです。どのステートメントでそれに相当するのでしょうか?

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

+0

whereは 'where statement'ですか? –

+0

上記の 'where'ステートメントはどこにありますか? – itachi

答えて

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

+0

あなたは大歓迎です。がんばろう。 – Tieme

0

while (!$rs->EOF){は「$rs->EOFtrueになるまでこれを行うに運ぶ」という意味印刷したかったものを印刷しませんでしたが、私はすべてのエラーを取得していない「場合は、」使用してみました。終了すると、$rs-EOFは常に真(そうでなければループは終了しない)なので、条件は決して通過しません。

ある時点(おそらくwhileのループ)でテストを行い、結果があるかどうかを確認する必要があります。どのライブラリを使用しているかわからなければ、これを行う方法を言うことは不可能です。

0

あなたは、結果セットががそれをループに試みる前空でないことを確認する必要があります。

など。この擬似コードのようなもの:

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... 
} 

私はあなたが一般的にあなたの期待される成果があればブロック内で処理されたいので、それは私に多くの意味があると思うし、それ以外のブロックで処理される他の結果(複数可)。