2

クエリがあり、クエリは20件の結果を返す可能性がありますが、最初の9件の結果のみを表示したいと思います。クエリ結果を9に制限するだけではないという愚かな理由があります。この目的のために、$iが9に達した場合にwhile関数を停止する方法を知る必要があります。

コードは

    $i = 0;
    while($array = mysql_fetch_array($queryresults) && $i <= '9')
    {
               echo $array['id'];
               $i++;
    }

9番目の結果の後にエコーの出力を停止するにはどうすればよいですか?ありがとうございました!

4

4 に答える 4

4

制限条件を最初に置くと、レイジー&&と呼ばれるため、10行と1行ではなく、9行のみをフェッチするようになります(最初の部分がfalseの場合、次の部分も参照されません)。

$i = 0;
while($i < 9 && $array = mysql_fetch_array($queryresults)){
    echo $array['id'];
    $i += 1;
}

またはあなたが空想になりたい場合:

$i = 9;
while($i-- > 0 && $array = mysql_fetch_array($queryresults)){
    echo $array['id'];
}

しかし、私はこのエラーが発生しやすいと思います..

于 2012-04-13T22:14:17.003 に答える
2
$i = 0;
while($array = mysql_fetch_array($queryresults) && $i++ < 9)
    echo $array['id'];
}

ノート:

  1. 9引用符で囲む必要はありません
  2. $i++ループ条件で実行することにより、比較後にインクリメントできますwhile(必須ではありませんがecho $array['id']、whileループ本体の後に配置することもできます)。
  3. 気をつけろ!< 9ゼロから始めてからではなく、必要です。そうしない<= 9と、ループが10回繰り返されます。

乾杯

于 2012-04-13T22:17:24.270 に答える
0

while$i++ ループ内にいる必要があります

$i <= 9代わりに持っている必要があります$i <= '9'が、それでもそのまま動作するはずです

于 2012-04-13T22:14:24.707 に答える
0

「9」は9である必要があります

$i = 0;
while($array = mysql_fetch_array($queryresults) && $i < 9){
    echo $array['id'];
    $i += 1;
}
于 2012-04-13T22:16:13.923 に答える