php - 如何避免在 while 循环中最后添加 2 个数据

标签 php mysql

如何避免在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 指出的那样,您检查计数的方式应该是

  1. 返回结果的第一行,因此它会从 while 循环中丢失。
  2. 给你的是列数而不是行数。

对于 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/

相关文章:

php - 使用 PHP 和 MySQL 填充下拉列表

php - MySql 查询两张表

php - mySQL 查询,对最新记录而非所有记录进行 JOIN

PHP 将数组元素添加到数据库不起作用

mysql - 如何将 bash 和 mysql 与 while 和输出一起使用

mysql - 需要使用 not like 进行 MySQL 查询的帮助

php - 使用 HTML 和 PHP 更新值而无需重新加载

php - mysql中的空行预防

PHP代码执行时间

php - 如何使用 TextMagic 服务并在 php 中保存电话号码