簡體   English   中英

在if語句中僅回聲一次

[英]Echo text only once while in if statement

我試圖回應贏得特定獎牌的那幾周。我正在從數據庫中獲取該數據,其結果存儲在“ $ toprow55”中。

以下是我用來回顯查詢結果的代碼:-

 <div class="modal-body" style="white-space: pre-line ;color:black;background:#ffc266; font-size:17px "> <?php while( $toprow55 = sqlsrv_fetch_array( $stmt55) ){ if($toprow55 !== NULL){?> <?php echo "Gold medals won : "."\\n". "".$toprow55['WeekNumber']."" ."\\n"; } else { { echo "No Gold medals won"; } }}?> </div> 

問題 :我得到的文字是:“獲得了金牌:”被回聲的次數很多。我知道我需要在這里使用“ sqlsrv_fetch_array($ stmt55)”。請告訴我如何顯示“獲得金牌” :“ onlyonce

圖片顯示當前場景:

IMG

在您的情況下,最簡單的方法是添加一個計數器,然后詢問該計數器是否為零或其他。

<?php
$i = 0;
while( $toprow55 = sqlsrv_fetch_array( $stmt55) ){
    if ($i == 0) {
        echo echo "Gold medals won  : \n";
    }

    if($toprow55 !== NULL){
        echo $toprow55['WeekNumber'] . "\n";
    } else {
        echo "No  Gold medals won";
    }
    $i++;
}
?>

它應該工作。 您可以一次顯示標簽“贏得金牌”,並將布爾值設置為true,然后在if條件結束時設置為false。

 <div class="modal-body" style="white-space: pre-line ;color:black;background:#ffc266; font-size:17px "> <?php $i = true; while( $toprow55 = sqlsrv_fetch_array( $stmt55) ){ if($toprow55 !== NULL){ if($i) echo "Gold medals won :\\n"; echo $toprow55['WeekNumber']."\\n"; $i = false; } } if($i){ echo "No Gold medals won"; } ?> </div> 

在獲得結果之后,您需要中斷while循環,否則,只要$toprow55 = sqlsrv_fetch_array($stmt55)為true,while就會重復無窮大。

 <div class="modal-body" style="white-space: pre-line ;color:black;background:#ffc266; font-size:17px "> <?php while($toprow55 = sqlsrv_fetch_array($stmt55)){ if($toprow55 !== NULL){ echo "Gold medals won : "."\\n". "".$toprow55['WeekNumber']."" ."\\n"; } else { echo "No Gold medals won"; }; break; }; ?> </div> 

PHP While文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM