21 de August de 2013

Paginação PHP

Neste tutorial vou apresentar um código para Paginação PHP bem simples.

Para manter a simplicidade eu não inclui as setas para anterior e próximo, mas apenas a numeração das páginas.

Caso queira uma paginação mais completa basta acessar a continuação deste tutorial de paginação PHP.

Vamos ao código da paginação:

Arquivo paginacao.php

<?php 
    // conexão com o banco de dados 
    mysql_connect("localhost","root",""); 
    mysql_select_db("banco_teste");
    
    //verifica a página atual caso seja informada na URL, senão atribui como 1ª página 
    $pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1; 

    //seleciona todos os itens da tabela 
    $cmd = "select * from produtos"; 
    $produtos = mysql_query($cmd); 

    //conta o total de itens 
    $total = mysql_num_rows($produtos); 

    //seta a quantidade de itens por página, neste caso, 2 itens 
    $registros = 2; 

    //calcula o número de páginas arredondando o resultado para cima 
    $numPaginas = ceil($total/$registros); 

    //variavel para calcular o início da visualização com base na página atual 
    $inicio = ($registros*$pagina)-$registros; 

    //seleciona os itens por página 
    $cmd = "select * from produtos limit $inicio,$registros"; 
    $produtos = mysql_query($cmd); 
    $total = mysql_num_rows($produtos); 
    
    //exibe os produtos selecionados 
    while ($produto = mysql_fetch_array($produtos)) { 
        echo $produto['id']." - "; 
        echo $produto['nome']." - "; 
        echo $produto['descricao']." - "; 
        echo "R$ ".$produto['valor']."<br />"; 
    } 
    
    //exibe a paginação 
    for($i = 1; $i < $numPaginas + 1; $i++) { 
        echo "<a href='paginacao.php?pagina=$i'>".$i."</a> "; 
    } 
?>

Você irá precisar criar uma tabela no banco de dados para poder testar esta Paginação PHP.

Note também que eu estou me conectando ao banco de dados local com um usuário padrão, você terá que alterar as configurações de acordo com sua conexão.

Segue a criação da tabela e a insersão de alguns dados para facilitar:

CREATE TABLE `produtos` ( 
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `nome` varchar(50) DEFAULT NULL, 
    `descricao` text, 
    `valor` varchar(10) DEFAULT NULL, PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; 

insert into `produtos`(`id`,`nome`,`descricao`,`valor`) 
    values (1,'Caneta','Caneta azul','3,00'); 
insert into `produtos`(`id`,`nome`,`descricao`,`valor`) 
    values (2,'Caderno','Caderno 200 páginas','8,00'); 
insert into `produtos`(`id`,`nome`,`descricao`,`valor`) 
    values (3,'Borracha','Borracha para lápis','1,00');
insert into `produtos`(`id`,`nome`,`descricao`,`valor`) 
    values (4,'Mochila','Mochila escolar preta','35,00');

Visualizações: 27.826



PHP

09 de May de 2017

Reescrita de URL

Neste tutorial vamos aprender a deixar nossas URLs amigáveis através da Reescrita de URL.

23 de February de 2014

Paginação PHP 2

Neste tutorial vamos incrementar o tutorial anterior e incluir as setas de anterior e próximo, além de aplicar alguns estilos CSS pra melhorar a visualização...

15 de August de 2013

Criando resumo em PHP

Muitas vezes queremos pegar somente a parte inicial de um texto para criar uma espécie de resumo, este recurso é muito útil para criar chamadas de notícias por exemplo...

Sérgio Toledo | Full-Stack Web Developer | LinkedIn | GitHub | YouTube

Todos os direitos reservados ©