有没有办法在while循环中排除循环中的行?

时间:2013-09-02 20:06:30

标签: php

我不希望while循环影响几行。有没有办法实现它?

while ($row = mysql_fetch_array($result))

{
    echo '<td>'.$total_N.'</td>'; //not to be looped
    echo '<td>'.'&nbsp'.'</td>'; //not to be looped

    $total +=$row['n'];

    echo '<tr><td>'.$row['l_numb'].'</td>';
    echo '<td>'.$row['p_numb'].'</td>';
    echo '<td>'.$row['n'].'</td><td>'.$row['g'].'</td></tr>';
} 

1 个答案:

答案 0 :(得分:1)

只需声明一个$count变量,使用if语句来检查循环计数何时达到您需要的特定行:

$count = 0;
while ($row = mysql_fetch_array($result))
{

    if ($count !== 5 && $count !== 10)
    {     

        echo '<td>'.$total_N.'</td>'; //not to be looped
        echo '<td>'.'&nbsp'.'</td>'; //not to be looped
        $total +=$row['n'];
        echo '<tr><td>'.$row['l_numb'].'</td>';
        echo '<td>'.$row['p_numb'].'</td>';
        echo '<td>'.$row['n'].'</td><td>'.$row['g'].'</td></tr>';

    }

    $count++;
} 

在上面的例子中,循环内的语句不会被处理为第5行和第10行(循环仍将执行,但它不会进入if块,因为条件不会满足) 。这仅仅是一个例子 - 你可以修改它来实现你真正想要的东西。