Mysqli查询数组数据操作

时间:2012-09-15 21:46:16

标签: php sql mysqli

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

3 个答案:

答案 0 :(得分:1)

在SQL查询中使用LIMITSELECT * FROM table LIMIT x, n类似,这将从第x + 1行开始,将选择n行......

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

答案 1 :(得分:0)

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

如果添加ORDER BY子句以使行总是以相同的顺序出现,则效果最佳。

答案 2 :(得分: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();
}