Mysqli查询数组数据操作


Mysqli query array data manipulation

我有一个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到末尾?

在SQL查询中使用LIMIT类似于SELECT * FROM table LIMIT x, n,它将从第x+1行开始,并将选择n行。。。

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

您可以在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();
}

SELECT语句中,添加一个LIMIT子句,如下所示:SELECT * FROM my_table WHERE ... LIMIT 31, 1。这将只从表中选择第32行。您可以将31, 1替换为所需的任何范围。

如果添加ORDER BY子句,使行始终按相同顺序排列,则效果最佳。