【问题标题】:php while loop if to do for first row else to do for second row?php while 循环 if 为第一行做,否则为第二行做?
【发布时间】:2015-10-15 21:32:27
【问题描述】:

我有来自 mysql 的 while 循环,我尝试为第一个结果做一些事情,如果 else 为第二个结果做其他事情等......

我的代码

$i = 1;
while($row = mysql_fetch_array($get_row)) {
$rowid = $row['rowid'];
$number = $row['number'];
$result = $number - 1;
if ($result != '0') {
// for only first result != 0 do this
require('result.php');
$i++;
// for all other results != 0 too do this
$edit_row = "UPDATE rows SET status = 'Ok' WHERE rowid = '$rowid'";
mysql_query($edit_row);
} elseif ($result == '0') {
$edit_row = "UPDATE rows SET status = 'Not Ok' WHERE rowid = '$rowid'";
mysql_query($edit_row);
} 
}

【问题讨论】:

  • 您可以对第一个结果使用简单条件 $i==1,对其他结果使用 $i>1

标签: php mysql if-statement while-loop


【解决方案1】:

只需增加$i 即可使用它。当$i == 1 时做第一行,否则做其他。示例:

$i = 1;
while($row = mysql_fetch_array($get_row)) {
    $rowid = $row['rowid'];
    if ($i == 1) { //Do for first row when $i == 0
        $i++; //Increase the value of $i
        require('result.php');
        $edit_row = "UPDATE rows SET status = 'Ok' WHERE rowid = '$rowid'";
        mysql_query($edit_row);
    } else { //Do other when $i > 1
        $edit_row = "UPDATE rows SET status = 'Not Ok' WHERE rowid = '$rowid'";
        mysql_query($edit_row);
    }
}

也建议您使用mysqliPDO 而不是mysql

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多