如何获取1以上,但以后摆脱它?

时间:2010-10-21 08:22:44

标签: php mysql

目前,我在mysql_fetch_array()(以及LIMIT / OFFSET)(即while ($row = mysql_fetch_array($res)) { ... })的帮助下获取行;但是最后一行不是必需的,因为它是为了确保至少还剩下一行 - 它不是为了显示。

2 个答案:

答案 0 :(得分:1)

您可以在此循环之前获取行数:

select count(*) from <your_table> WHERE <your_condition>;

然后,您可以使用计数器排除循环中的最后一条记录。 这是你想要的吗?

答案 1 :(得分:0)

无论如何,你不应该将表现与逻辑混合在一起。获取数组中的所有行:

$rows = array();

while ($row = mysql_fetch_array($res)) {
    $rows[] = $row;   
}

并删除最后一个:

array_pop($rows);

或者只是设置LIMIT以获得更少的可能性。

<强>更新

这是使用for循环和mysql_num_rows的另一种可能性:

for($i = mysql_num_rows($res) - 1; $i--; $row = mysql_fetch_array($res))

但第一个更具可读性。