Forum und email

mysql_data_seek

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_data_seek — Move o ponteiro interno do resultado

Descrição

bool mysql_data_seek ( resource $result , int $row_number )

mysql_data_seek() move o ponteiro interno das linhas de um resultado MySQL associado ao identificador de resultado dado para o número da linha especificado. A próxima chamada a uma função MySQL que retorne resultado, como mysql_fetch_assoc(), irá retornar esta linha.

row_number começa em 0. O row_number deve ser um valor no intervalo de 0 a mysql_num_rows() - 1. Entretanto, se o conjunto de reseultados for vazio (mysql_num_rows() == 0), uma busca para 0 irá falhar com um E_WARNING e mysql_data_seek() iá retornar FALSE.

Parâmetros

result

O resulatado resource que esta sendo avaliado. Este resultado vem de uma chamada a mysql_query().

row_number

O número de linha desejado para o ponteiro de resultado.

Valor Retornado

Retorna TRUE em caso de sucesso ou FALSE em falhas.

Exemplos

Example#1 Exemplo mysql_data_seek()

<?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Não foi possível conectar: ' mysql_error());
}
$db_selected mysql_select_db('sample_db');
if (!
$db_selected) {
    die(
'Não foi possível selecionar o banco de dados: ' mysql_error());
}
$query 'SELECT last_name, first_name FROM friends';
$result mysql_query($query);
if (!
$result) {
    die(
'A consulta falhou: ' mysql_error());
}
/* obtém as linhas em ordem reversa */
for ($i mysql_num_rows($result) - 1$i >= 0$i--) {
    if (!
mysql_data_seek($result$i)) {
        echo 
"Não foi possível mover para a linha $i: " mysql_error() . "\n";
        continue;
    }

    if (!(
$row mysql_fetch_assoc($result))) {
        continue;
    }

    echo 
$row['last_name'] . ' ' $row['first_name'] . "<br />\n";
}

mysql_free_result($result);
?>

Notas

Nota: A função mysql_data_seek() pode ser usada apenas em conjunto com a função mysql_query(), não com mysql_unbuffered_query().