0

我有一个 php 页面,它调用来自 sql 数据库的数据并将其显示在表上。

while($row = mysqli_fetch_array($result)) {
    echo '<tr>';
    echo "<td style='border:1px solid black;'>{$row['first_name']}</td>";
    echo "<td style='border:1px solid black;'>{$row['last_name']}</td>";
    echo "<td style='border:1px solid black;'><a href=\"javascript:win1({$row['formID']})\">Activities<a/></td>";
    echo "<td style='border:1px solid black;'><a href=\"javascript:win2({$row['formID']})\">Awards<a/></td>";
    echo "<td style='border:1px solid black;'>{$row['total']}</td>"; 
    echo "<td style='border:1px solid black;'>{$row['date']}</td>";
    echo "<td style='border:1px solid black;'>{$row['IP']}</td>";
    echo '</tr>';
}
echo '</table>';

是我当前的代码,但我想知道是否有办法获取某个数字行,例如获取结果中的第 32 行,而不是从 0 获取到末尾?

4

3 回答 3

1

LIMIT在 SQL 查询中使用像SELECT * FROM table LIMIT x, n这样将从第 x+1 行开始并选择 n 行...

http://php.about.com/od/mysqlcommands/g/Limit_sql.htm

于 2012-09-15T21:48:57.310 回答
0

在您的SELECT声明中,添加一个LIMIT像这样的子句:SELECT * FROM my_table WHERE ... LIMIT 31, 1. 这将只选择表中的第 32 行。您可以替换31, 1为您想要的任何范围。

如果您添加一个ORDER BY子句这样行总是以相同的顺序出现,则此方法效果最佳。

于 2012-09-15T21:51:00.450 回答
0

您可以在 mysqli 中使用 data_seek 来做到这一点

$query = "SELECT * FROM Something";
if ($result = $mysqli->query( $query)) {
    // seek to row number 32
    $result->data_seek(31);
    $row = $result->fetch_row();
    //use the $row data
    $result->close();
}
于 2012-09-15T21:53:58.923 回答