PHP - Pulando linhas do resultado de uma Query com mysql_data_seek()


mysql_data_seek() move o ponteiro interno do resultado de uma Query MySQL para o número da linha especificada. A próxima chamada de uma função, por exemplo mysql_fetch_assoc (), irá retornar esta linha.

mysql_data_seek() é muito útil quando se quer trabalhar com paginações, por exemplo.

Vamos a um exemplo simples, sem o uso do mysql_data_seek(), onde uma tabela simples com ID e nome é consultada.

<?php
include "db.php";

$result = mysql_query("SELECT * FROM ident");

while ($row = mysql_fetch_array($result))  {

echo "ID: {$row['id']}, Nome: {$row['nome']} <br/>";

}

O Resultado é:

ID: 1, Nome: Daniel
ID: 2, Nome: Salete
ID: 3, Nome: Veronica
ID: 4, Nome: Mona
ID: 5, Nome: Zilda
ID: 6, Nome: Ofelia
ID: 7, Nome: Patricia

Agora vamos utilizar mysql_data_seek(). Vamos pular o resultado da consulta da linha 0 para a linha 5 e repetir o loop:

<?php
include "db.php";

$result = mysql_query("SELECT * FROM ident");

mysql_data_seek($result,5);

while ($row = mysql_fetch_array($result))  {

echo "ID: {$row['id']}, Nome: {$row['nome']} <br/>";

}

O resultado é:

ID: 6, Nome: Ofelia
ID: 7, Nome: Patricia

Vale lembrar que o índice interno do resultado do select começa no 0. 

Agora é inventar!

Comentários

Postagens mais visitadas deste blog

MySQL - Completando quantidades fixas de caracteres com as funções LPAD() e RPAD()

MySQL - Clonando tabelas na linha de comando

PHP - Gerando arquivo em UTF-8 com fwrite() e utf8_encode()