0

私はラウンドとの試合のためのwhileループを持っています:

while ( $matches->fetch() ) 

{

echo $round . '.'; //need a condition to only echo round if it is for the first time
echo $team1 . ' VS ' . $team2;

}

したがって、結果の代わりに次のようになります。

1.FC BARCELONA VS REAL MADRID
1.MALAGA VS SEVILLA
1.ATLETICO BILBAO VS MADRID
1.MALLORCA VS REAL MADRID
2.FC BARCELONA VS REAL MADRID
2.MALAGA VS SEVILLA
2.ATLETICO BILBAO VS MADRID
2.MALLORCA VS REAL MADRID

そのように、最初の行で 1 回だけラウンド数をエコーする必要があります。

1.FC BARCELONA VS REAL MADRID
MALAGA VS SEVILLA
ATLETICO BILBAO VS MADRID
MALLORCA VS REAL MADRID
2.FC BARCELONA VS REAL MADRID
MALAGA VS SEVILLA
ATLETICO BILBAO VS MADRID
MALLORCA VS REAL MADRID

whileループ内でそれを行う方法は? if またはその他の条件が必要ですが、これをコーディングする方法がわかりませんので、助けていただければ幸いです。

正しく注文しましたが、今すぐ出力部分を実行する必要があります。

4

5 に答える 5

2

最後のラウンドを追跡し、変更された場合にのみ表示します。

$lastRound = null;
while ( $matches->fetch() ) 
{
    if ($lastRound != $round) 
    {
        echo $round . '.'; //need a condition to only echo round if it is for the first time
    }
    $lastRound = $round;
    echo $team1 . ' VS ' . $team2;
}
于 2012-10-30T16:12:14.573 に答える
1

これを試して:

$written = false;
while ( $matches->fetch() ) {
  if(!$written) {
    echo $round . '.'; //need a condition to only echo round if it is for the first time
    $written = true;
  }
  echo $team1 . ' VS ' . $team2;
}
于 2012-10-30T16:11:43.383 に答える
0

あなたに必要なのは

$last = null;
while ( $matches->fetch() ) 
{
    ($round !== $last) and print($round . '.');
    echo $team1 . ' VS ' . $team2;
    $last = $round;
}
于 2012-10-30T16:13:04.917 に答える
0

while define $count = 0; の前に。内部で最初に行うのは $count++; です。そして2番目にチェックする

if ($count == 1) { display round number }
于 2012-10-30T16:10:25.167 に答える
0
$i = 0;
while($row = $sql->fetch_assoc()) {
    if($i == 0)
        echo '1. ';
    echo $row['field'];

    $i++;
}
于 2012-10-30T16:11:35.580 に答える