paginar resultados do MySQL com PHP tem uma série de benefícios. Primeiro, ele acelera a consulta MySQL, uma vez que só retorna um pequeno número de resultados. Em segundo lugar, ele melhora a experiência do usuário , pois mostra um número razoável de resultados por página . Em terceiro lugar, ele economiza largura de banda por não enviar os resultados desnecessários. Por estas razões , muitos sites , incluindo Google , Yahoo e WordPress , adotaram seu uso. Para usar o MySQL paginação, você precisa usar o comando SQL "limite" e os parâmetros "pegar" na URL. Instruções
1
Criar uma tabela de " agenda " em seu banco de dados MySQL com as colunas " id ", " nome " e " telefone ". Preencha a tabela com algumas entradas . Aqui estão as consultas SQL para criar e preencher a tabela, respectivamente :
CRIAR agenda TABLE ( `id` int ( 11) NOT NULL AUTO_INCREMENT , `name` varchar ( 100) NOT NULL, ` telefone ` varchar ( 20) NOT NULL, PRIMARY KEY ( `id` ) );
INSERT INTO agenda ( VALUES (' Jack ' , '201 - 379-5406 `name` , ` telefone `) ' ) , (' Jake ' , '331 - 123-5196 ') , ( 'John' , '222 - 342-3250 ');
2
Crie um novo arquivo " pagination.php " e abri-lo com um texto editor como o Bloco de Notas. Escreva um segmento de código que se conecta ao seu servidor MySQL, utilizando a função " mysql_connect " do PHP , e seleciona o banco de dados que contém a tabela " lista telefônica " , usando a função " mysql_select_db " do PHP . Aqui está um exemplo:
mysql_connect ( 'localhost' , 'admin' , 'password' );
mysql_select_db ( 'teste' );
Substitua as quatro cordas com seu nome de host , nome de usuário , senha e banco de dados , respectivamente.
3
Escreva um segmento de código que define a variável " $ rowsPerPage " para o número de linhas a serem exibidos por página , conjuntos "$ currentPage " para a página solicitada via " $ _GET [ 'page' ]" ou zero se nenhum e conjuntos " $ offset " para o deslocamento do que para buscar linhas do banco de dados , calculado subtraindo-se um de "$ currentPage " e multiplicando-se por " $ rowsPerPage . " Aqui está um exemplo:
$ rowsPerPage = 5;
$ currentPage = (( isset ($ _GET [ 'page' ] ) && $ _GET [ 'page' ]> 0) ? (int) $ _GET [ 'page' ] : 1);
$ offset = ($ currentPage -1) * $ rowsPerPage ;
4
escrever uma linha de código que recupera linhas " $ rowsPerPage " a partir do deslocamento definido em " $ offset " da tabela " agenda " de execução de uma consulta "SELECT" através da função " mysql_query " do PHP e salva o resultado em uma nova variável. Aqui está o código :
$ result = mysql_query ( " SELECT * FROM agenda LIMITE ' $ offset ', ' $ rowsPerPage . . . );
5
Escrever um ", enquanto " loop que recupera as linhas do conjunto da consulta resultado ", $ resultado", usando a função " mysql_fetch_assoc " do PHP e os exibe como uma lista ou tabela . Aqui está um exemplo:
echo '
ID | Nome | Telefone | < ;/tr> ';
while ($ row = mysql_fetch_assoc ($ resultado )) {
echo'
' . $ row [ 'id'] . '< /td> | ' . $ linha [' nome '] . '< /td> | ' . $ linha [' telefone '] . '< /td> |
'; }
echo '
';
6
Escreva um segmento de código que recupera o número de entradas na tabela executando uma consulta " COUNT " através da função " mysql_query " do PHP , calcula o número de páginas , dividindo o número de entradas pela variável "$ rowsPerPage " e arredondando para cima e salva o resultado em um variável " $ TotalPages ". Aqui está o código :
$ result = mysql_query ( " SELECT COUNT ( *) AS contar a partir da lista telefônica ');
$ row = mysql_fetch_assoc ($ resultado );
$ TotalPages = ceil ( $ linha [' count' ] /$ rowsPerPage );
7
escrever dois "se " declarações : um que exibe um link " Página anterior " e que exibe um "Next " link, se a respectiva página existe ( ou seja, se " Página $ currentPage " é maior do que um para" página anterior " e se " $ currentPage "é maior que " $ TotalPages " para" página Seguinte " ) . Aqui está o código :
if ($ currentPage > 1) {
echo ' Página Anterior '; }
if ($ currentPage <$ TotalPages ) {
echo' Próxima página ' ' ($ currentPage +1) . '. ;
}