0

SQLデータベースからデータを呼び出してテーブルに表示するphpページがあります。

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>';

私の現在のコードですが、0から最後までフェッチするのではなく、結果の32行目をフェッチするように、特定の数値行をフェッチする方法があるかどうかを知りたいですか?

4

3 に答える 3

1

LIMITSQLクエリでの使用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 に答える