我有一个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
子句,使行始终按相同顺序排列,则效果最佳。