mysql_data_seek

(PHP 3, PHP 4 >= 4.0.0)

mysql_data_seek -- 内部的な結果ポインタを移動する

説明

int mysql_data_seek (int result_identifier, int row_number)

成功した場合にTRUE、失敗した場合にFALSEを返します。

mysql_data_seek()は、指定した結果ID (result_identifier)が指すMySQL結果の内部ポインタが指定した行番号 (row_number)を指すように移動します。 この後、mysql_fetch_row()をコールした場合には、 ここで指定した行の内容が返されます。

row_number は、0から始まります。

例 1MySQLデータをシークする例


<?php
    $link = mysql_pconnect ("kron", "jutta", "geheim")
        or die ("接続できません");

    mysql_select_db ("samp_db")
        or die ("データベースを select できません");

    $query = "SELECT last_name, first_name FROM friends";
    $result = mysql_query ($query)
        or die ("クエリが失敗しました");

    # 行を逆順に取得する

    for ($i = mysql_num_rows ($result) - 1; $i >=0; $i--) {
        if (!mysql_data_seek ($result, $i)) {
            printf ("行 %d に移動できません\n", $i);
            continue;
        }

        if(!($row = mysql_fetch_object ($result)))
            continue;

        printf ("%s %s<BR>\n", $row->last_name, $row->first_name);
    }

    mysql_free_result ($result);
?>