while循环中的PHP计数器增量


PHP counter increment in a while loop

我在一个while循环中增加计数器时遇到问题,基本上我只想在数据库中提取的两个图像链接之间交替,但我的计数器不会增加,我不知道为什么有人能帮忙?

while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
      $img_link = $row['Image'];
      $img_link_alt = $row['Image_alt'];
      $i = 0;
       echo '<div class="col-xs-6 col-sm-3 placeholder">'; 
       $img = ( $i % 2 == 0 ) ?  $img_link : $img_link_alt; 
            echo $i;
            //'?' . date("h:i:sa").'
            echo '<img style="height:200px; border-radius:0%; width:300px;" src="screenshots/'. $img . '">';          
            echo '<h4>Screenshot</h4><span class="text-muted">Updated Screenshot of the Botting session: <b>' . $row['script_name'] .' </b></span>'; 
            echo '</div>';        
            $i++;        
        }

我甚至试着在while循环之外声明$i,但仍然一无所获。。。。。任何帮助都将不胜感激

在循环外初始化$i。

$i = 0;
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
      $img_link = $row['Image'];
      $img_link_alt = $row['Image_alt'];
       echo '<div class="col-xs-6 col-sm-3 placeholder">'; 
       $img = ( $i % 2 == 0 ) ?  $img_link : $img_link_alt; 
            echo $i;
            //'?' . date("h:i:sa").'
            echo '<img style="height:200px; border-radius:0%; width:300px;" src="screenshots/'. $img . '">';          
            echo '<h4>Screenshot</h4><span class="text-muted">Updated Screenshot of the Botting session: <b>' . $row['script_name'] .' </b></span>'; 
            echo '</div>';        
            $i++;        
        }

您必须在循环外重置$i:

$i = 0;
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  $img_link = $row['Image'];
  $img_link_alt = $row['Image_alt'];
   echo '<div class="col-xs-6 col-sm-3 placeholder">'; 
   $img = ( $i % 2 == 0 ) ?  $img_link : $img_link_alt; 
       echo $i;
        //'?' . date("h:i:sa").'
        echo '<img style="height:200px; border-radius:0%; width:300px;" src="screenshots/'. $img . '">';          
        echo '<h4>Screenshot</h4><span class="text-muted">Updated Screenshot of the Botting session: <b>' . $row['script_name'] .' </b></span>'; 
        echo '</div>';        
        $i++;        
}
$i  = 0;
while($i<5) {
    $alternateVal   = $i%2==0 ? "type1" : "type2";
    echo $alternateVal;
    $i++;
}

以上是概述备用值的示例。

移动

$i 

初始化:

 $i=0

在while循环之外,它起了作用。你每次重新确认

$i 

while循环中的变量,并且计数器没有增加,请修复它。另一种选择是使用行计数器,例如:

$count = $db->query("SELECT COUNT(id) FROM users")->fetchColumn();
echo $count; //Returns number of rows

就像在那个答案中

$i变量放在while块之外,如下所示:

$i = 0;
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
      $img_link = $row['Image'];
      $img_link_alt = $row['Image_alt'];
       echo '<div class="col-xs-6 col-sm-3 placeholder">'; 
       $img = ( $i % 2 == 0 ) ?  $img_link : $img_link_alt; 
            echo $i;
            //'?' . date("h:i:sa").'
            echo '<img style="height:200px; border-radius:0%; width:300px;" src="screenshots/'. $img . '">';          
            echo '<h4>Screenshot</h4><span class="text-muted">Updated Screenshot of the Botting session: <b>' . $row['script_name'] .' </b></span>'; 
            echo '</div>';        
            $i++;        
        }