/*
* CLASSE DE PÁGINAÇÃO EM PHP + MYSQL
* AUTOR : Édson Kuzniewski (Br0w)
* E-MAIL: contato@edsonk.com
* DATA : 18/12/2009
* VERSÃO: 1.2.2.2
*/
/*
* [ INFO DE ATUALIZAÇÃO ]
*
* 1 - Modo de retorno de paginação alterada para 'return' para poder utilizar o 'Smarty Template';
*/
/**
[MODO DE USAR] = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = \
// COM O SMARTY TEMPLATE
// ADICIONE CONFORME O INDICADO ABAIXO NO CODIGO...
// SEGUE AS PARTES DO CODIGO SUBSTITUA OU ADICIONE CONFORME NO EXEMPLO DO CODIGO ORIGINAL...
// PARTE 01 ---------------------------\
//Adicione a classe na página no qual ira usar o Smarty Template se o usar caso contrario comente a linha...
require_once("lib/Smarty/Smarty.class.php");
//Configurações iniciais do Smarty Template se o usar caso contrario comente as linhas...
$smarty = new Smarty;
$smarty->debugging = false;
$smarty->caching = false;
$smarty->cache_lifetime = 60;
$smarty->template_dir = "templates/";
$smarty->compile_dir = "templates_c/";
$smarty->config_dir = "configs/";
$smarty->cache_dir = "cache/";
// FIM PARTE 01 -----------------------/
// PARTE 02 ---------------------------\
//Caso use o Smarty utilize deste modo, caso contrario comente estas linhas...
while($row = mysql_fetch_array($paginacao->getResult())){
$listaDeItens[] = $row['item'];
}
// FIM PARTE 02 -----------------------/
// PARTE 03 ---------------------------\
$smarty->assign('header', $header);
$smarty->assign('pgAnterior', $paginacao->getAnterior("paginacao_on","paginacao_off"));
$smarty->assign('pgNumero', $paginacao->getPaginas("paginacao_paginas"));
$smarty->assign('pgProximo', $paginacao->getProximo("paginacao_on","paginacao_off"));
$smarty->assign('listaDeItens', $listaDeIntens);
// FIM PARTE 03 -----------------------/
// PARTE 04 ---------------------------\
$smarty->display('meuTemplate.tpl');
// FIM PARTE 04 -----------------------/
//TEMPLATE DO SMARTY FICARA DESTE MODO -----------------\
{$pgAnterior}{$pgNumero}{$pgProximo}
{section name=i loop=$listaDeItens}
{$listaDeItens[i]}
|
{/section}
{$pgAnterior}{$pgNumero}{$pgProximo}
//------------------------------------------------------/
// EXEMPLO DO CODIGO NORMAL ----------------------\
//Adicione a classe na página no qual ira usar
require_once("class.Paginacao.php");
// PARTE 01 - ADICIONAR - SMARTY TEMPLATE
//Criando uma conexão MySQL
if (!($conexao = mysql_connect('localhost', 'usuario', 'senha'))) {
echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.";
exit;
}
$banco = "meuBancoDeDados"; //Define o banco no qual está se referindo a consulta!
//Crie um sql no qual queira que o resultado seja mostrado com paginação;***********************************
$sql = "SELECT *
FROM tabela
WHERE se tiver
ORDER BY id ASC ou DESC";
$paginacao = new Paginacao(); //Cria a paginação;
$paginacao->setMaximo("20"); //Define numéro de itens por página se não fica o padrão de 10;
$paginacao->setEstilo("2"); //Define o estilo de paginação, mude se quizer 1 ou 2;
$paginacao->setBtnPrimeiro("[Primeiro]"); //Define texto do botão de padrão já está definido mude se quizer;
$paginacao->setBtnUltimo("[Último]"); //Define texto do botão de padrão já está definido mude se quizer;
$paginacao->setBtnAnterior("[Anterior]"); //Define texto do botão de padrão já está definido mude se quizer;
$paginacao->setBtnProximo("[Próximo]"); //Define texto do botão de padrão já está definido mude se quizer;
$paginacao->setBtnPrimeiroOn(true); //Define texto do botão de padrão já está definido mude se quizer;
$paginacao->setBtnUltimoOn(true); //Define texto do botão de padrão já está definido mude se quizer;
$paginacao->setUrlAdicional("id=1&categoria=3&texto=asdfg"); //Define a url adicional passada por parâmetro via url opcional;
$paginacao->setZero(true); //coloca zero aos números baixos de 10; 01 02... padrão ativado (true/false);
$paginacao->getNporPg(); //RETORNA NÚMERO DE ITENS POR PÁGINA
$paginacao->getNtotalPg(); //RETORNA O NÚMERO TOTAL DE PÁGINAS
$paginacao->__start($banco, $sql, $conexao);//Inicia a páginação;
$i=0;
while($row = mysql_fetch_array($paginacao->getResult())){
echo"linha com item nº $i = ".$row['item']."
";
$i++;
}
// PARTE 02 - SUBSTITUIR PELO WHILE ACIMA - SMARTY TEMPLATE
//Para mostrar a paginação coloque em sua página HTML ou PHP:***********************
echo $paginacao->getAnterior("estilo_on","estilo_off"); //Cria botão anterior, os estilos referidos são CSS
echo $paginacao->getPaginas("estilo_paginas"); //Cria nº de pg., os estilos referidos são CSS
echo $paginacao->getProximo("estilo_on","estilo_off"); //Cria botão próximo, os estilos referidos são CSS
//Sendo assim junte todos que o resultado seria:*****************************************
echo $paginacao->getAnterior("paginacao_on","paginacao_off") . $paginacao->getPaginas("paginacao_paginas") . $paginacao->getProximo("paginacao_on","paginacao_off");
// PARTE 03 - SUBSTITUIR PELO CODIGO ACIMA - SMARTY TEMPLATE
// PARTE 04 - ADICIONAR - SMARTY TEMPLATE
//RESULTADO DEPENDE DO ESTILO*************************************************
[ESTILO 1]
< Anterior 1 2 3 4 [5] 6 7 8 Próximo >
< Anterior 1 2 3 4 5 [6] 7 8 Próximo >
o número de páginas total é mostrado sendo no exemplo 8 páginas . . .
[ESTILO 2]
<< Primeiro < Anterior 1 2 3 [4] 5 6 7 Próximo > Último >>
se tiver mais que 7 ele começa a tira 1 no começo e adicionar 1 no fim . . .
<< Primeiro < Anterior 2 3 4 [5] 6 7 8 Próximo > Último >>
[FIM DO MODO DE USAR] = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = /
**/