在while循环中自动增加变量


Auto increment variable in while loop

我有一个变量,它是html中divs的字符串。

我试图在其中包括一个从1开始并自动递增的数字,以便每个div按升序编号。

这是我的时间:

while ($row9 = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
$catname9 = $row9["catname"];
$statusid9 = $row9["id"];
$i = 1;

这是我的字符串,我反复回显,直到它到达我调用的SQL表的末尾:

$list9 .= '<div id="each9" style="margin-top:3px" onclick="moveTo(''.main'', '.$i.');"></div>

然后回显:

<?php echo $list9; ?>

我怎么让第一个变成1第二个变成2第三个变成3呢?

像这样设置while循环:

$i = 1;
while ($row9 = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
    // looped logic here
    $i++;
}
重要的是在循环之前初始化计数器,并在每次迭代时增加它。

如果需要,还可以增加其他数量。将$i++替换为$i += 2;

通过$i=1初始化变量,如:

$i = 1; 
while ($row9 = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
echo $i; // will print 1,2,3 to number of count.
$i++;
}

首先,必须在while循环之前声明索引变量。
如果你在内部声明它,它将是一个新的变量,每次迭代。
完成后,您将需要为每次迭代增加变量,这可以通过$i++$i+=1来完成。

如果您希望它以1开始并递增,则从开始将其设置为1,并在循环的结束处增加1。

:

$index = 1;
while(...) {
  // Do stuff...
  $index++; // increase.
}
$i = 0;
while ($i < $row9 = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
    $i++;
} 
echo $i;