marceltk 0 Denunciar post Postado Fevereiro 10, 2010 Pessoal Fiz correndo o script, e não dei mta bola pra ficar explicavel, rs, resolveu meu problema com paginação, espero que ajude aos leigos que procuram um paginador simples. segue o código <? Class Paginator{ public $page; public $maxQtd; public $qtd; public $idNode; function __construct($idNode) { $this->table = "SUA_TABELA NO BANCO"; $this->idNode = $idNode; $this->conn = @mysql_connect("SEU_SERVIDOR","SEU_USUARIO","SUA_SENHA") or die ("ERRO NA CONEXÃO!"); mysql_select_db("SEU_BANCO_DE_DADOS", $this->conn); $this->qtd = $this->totalRows(); } function totalRows() { $sql = "SELECT ID FROM cms_item WHERE ID_NODE = ". $this->idNode; $rs = mysql_query($sql, $this->conn); $qtd = mysql_num_rows($rs); return $qtd; } function getObjects($max = 10, $page = false, $link = false) { $min = 0; if($page) { $min = $page * $max; } $this->max = $max; //seta quantos registros irá mostrar $sql = mysql_query("SELECT * FROM cms_item WHERE ID_NODE = ". $this->idNode ." LIMIT ". $min .",". $max); while($Data = mysql_fetch_object($sql)) { $itens[] = $Data; } $this->page = $page; return $itens; } function getPaginatorView() { $total = $this->qtd; if($this->max > 0) { $pages = ceil($total / $this->max); $pages < $this->page ? exit("Página não encontrada!") : false;//verifica se a pagina existe if($pages > 1) { $paginator = " <style type='text/css'> #paginator {padding:5px; background:#f5f5f5;} #paginator {font-size:12px; font-family:arial, verdana; color:#222;} #paginator span {background:#ddd; border:1px solid #ccc; margin:2px; padding:2px;} #paginator a{text-decoration:none; color:#111; font-weight:bold;} #paginator a:hover{text-decoration:underline;} #paginator .selected {background:#fff;} </style>"; $paginator .= "<div id='paginator'>"; if($this->page > 0) { $paginator .= "<a href=\"?page=". ($this->page - 1) ."\">Anterior</a> "; } else { $paginator .= "Anterior "; } for($i = 0; $i < $pages; $i++) { $class = null; if($i == $this->page) { $class = "selected"; } $paginator .= "<span class='". $class ."'><a href=\"?page=". $i ."\">". ($i +1) ."</a></span>"; } if(($this->page + 1) < $pages) { $paginator .= "<a href=\"?page=". ($this->page + 1) ."\"> Próximo</a>"; } else { $paginator .= " Próximo"; } $paginator .= "</div>"; } } return $paginator; } } $idNode = 10; //Uso isso pq é o ID relacionado na tabela Item, uso tabelas todas relacionadas $page = $_GET['page'];//pego a pagina atual $Paginator = new Paginator($idNode); $itens = $Paginator->getObjects(5, $page, 0); if(is_array($itens)) { print "<ul>"; foreach($itens as $Item) { print "<li>" . $Item->NOME . "</li>"; } print "</ul>"; } print $Paginator->getPaginatorView(); ?> <style> ul {margin:0px; padding:0px; font-family:arial; font-size:11px; font-weight:bold;} ul li{padding:3px; border-bottom:1px dotted #444;} </style> Compartilhar este post Link para o post Compartilhar em outros sites
pulao 0 Denunciar post Postado Fevereiro 19, 2010 esse codigo vai onde? vai junto com a lista que eu fiz pra exibir os resultados??? Compartilhar este post Link para o post Compartilhar em outros sites