如何避免在while循环中最后添加2条数据
$counter = 0;
$data=mysql_query("select * from tbl_sub_product");
$cnt = sizeof(mysql_fetch_assoc($data));
while($row= mysql_fetch_assoc($data)) {
if(($counter==$cnt-1) || ($counter== $cnt-2)){
}
echo $id = $row['id'];
}
这是正确的方法吗?还有其他方法吗?请帮助我
最佳答案
首先,正如@Twinfriends 所说,您应该避免使用 mysql_
函数。
您需要实际增加您的$counter
。您可以通过 $counter++
(这基本上是 $counter = $counter + 1
或 $counter += 1
的简写)来完成此操作。
此外,正如@jeroen 指出的那样,您检查计数的方式应该是
- 返回结果的第一行,因此它会从 while 循环中丢失。
- 给你的是列数而不是行数。
对于 mysql_
函数,您需要为此使用 mysql_num_rows()
。
$counter = 0;
$data = mysql_query("select * from tbl_sub_product");
$cnt = mysql_num_rows($data);
$stop = $cnt - 2;
while ($row = mysql_fetch_assoc($data)) {
$counter++;
if ($counter >= $stop) {
break;
}
echo $id = $row['id'];
}
break;
在一个循环中然后停止循环。如果您遇到想要跳过迭代但又不想停止循环的情况,则可以改用 continue;
。
希望这对您有所帮助!
关于php - 如何避免在 while 循环中最后添加 2 个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41465558/