Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 47
Sexo: Masculino
Localização: RJ/Nova Iguaçu/Brasil
Contato:

Problemas com paginação em PHP

28-11-2008 11:41

Estou tendo problemas em utilizar estE SCRIPT de paginação em PHP
http://www.mis-algoritmos.com/2007/05/2 ... ion-class/

Meu código tá assim
$items = 10; $page = 1; if(isset($page) and is_numeric($page)){ $limit = " LIMIT ".(($page-1)*$items).",$items"; }else{ $limit = " LIMIT $items"; } $sqlStr = "SELECT * FROM noticias"; $sqlStrAux = "SELECT count(*) as total FROM noticias"; $aux = mysql_fetch_assoc(mysql_query($sqlStrAux)); $query = mysql_query($sqlStr.$limit, $conn); if($aux['total']>0){ $p = new pagination; $p->Items($aux['total']); $p->limit($items); $p->currentPage($page); $p->adjacents(3); $p->nextLabel('<strong>Próxima</strong>');//changing next text $p->prevLabel('<strong>Anterior</strong>');//changing previous text //$p->nextIcon('');//removing next icon //$p->prevIcon('');//removing previous icon //$p->changeClass("jogger");//changing class $p->calculate(); $p->urlFriendly(); $p->target("http://www.armadamutuna.com/am2009/noticias/noticias_de_quadrinhos/%/"); $p->show(); echo $aux['total']." registros encontrado(s)."; echo '<ul>'; while($row = mysql_fetch_assoc($query)){ echo "<li>{$row['data']} - {$row['titulo']}</li>"; } echo '</ul>'; }else{ echo "Não há resultados a serem exibidos."; }

Mas não tá avançando de página, como pode ser visto aqui:

http://www.armadamutuna.com/am2009/noti ... quadrinhos

Não sei qual o erro. Por favor me ajudem.
0
O que você mudaria se tivesse Um Dia a Mais?
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17548
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas com paginação em PHP

28-11-2008 11:49

Pelo que notei onde está os dados sobre o script que são passados alguns dados via GET
?foo=var&page=2

No seu não tem esses valores no link. Você tem que ver o arquivo que recebe esses valores do link e vê se está recebendo e usando eles.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 47
Sexo: Masculino
Localização: RJ/Nova Iguaçu/Brasil
Contato:

Problemas com paginação em PHP

28-11-2008 12:01

Você está se referindo ao arquivo da classe de paginação em si?
Eu já revisei ele e não há nada que precise ser mudado... plo menos nada que eu tenha visto.
0
O que você mudaria se tivesse Um Dia a Mais?
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17548
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas com paginação em PHP

28-11-2008 12:04

Tem um script aqui no fórum de paginação http://www.codigosnaweb.com/forum/viewt ... 943&p=2265

Acho que é bem parecido com esse ai, só não sei se quer usar esse ai por causa do estilo dos links da paginação, se for, só aplicar nesse que estou indicando.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 47
Sexo: Masculino
Localização: RJ/Nova Iguaçu/Brasil
Contato:

Problemas com paginação em PHP

28-11-2008 12:09

O estilo dos links é tranquilo de fazer. Eu tenho esse CSS pronto. O que me interessou no script foi a maneira que ele montou a paginação. A classe ficou muito bem feita e funciona muito bem em um outro site que montei.

Mas no site em questão não funciona. Talvez eu esteja implementando erroneamente as urls amigaveis na paginação.
0
O que você mudaria se tivesse Um Dia a Mais?
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17548
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas com paginação em PHP

28-11-2008 13:45

Tem que verificar ai se mudou algo de um site para outro. Eu particulamente não prefiro class, apesar de facilitar o trabalho.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 47
Sexo: Masculino
Localização: RJ/Nova Iguaçu/Brasil
Contato:

Problemas com paginação em PHP

01-12-2008 11:36

Eu resolvi o problema... para o caso de URL amigavel tem que se tirar a $page=1.

Pra que quiser usar o script, segue o código.

Dúvidas podem ser tiradas na fonte do script:
http://www.mis-algoritmos.com/2007/05/2 ... ion-class/

Obrigado pela ajuda e boa programação a todos

$items = 20; //$page = 1; //if(isset($_GET['page']) and is_numeric($_GET['page']) and $page = $_GET['page']){ if(isset($page) and is_numeric($page)){ $limit = " LIMIT ".(($page-1)*$items).",$items"; }else{ $limit = " LIMIT $items"; } $sqlStr = "SELECT * FROM quadrinhos"; $sqlOrd = " ORDER BY data DESC"; $sqlStrAux = "SELECT count(*) as total FROM quadrinhos"; $aux = mysql_fetch_assoc(mysql_query($sqlStrAux)); $query = mysql_query($sqlStr.$sqlOrd.$limit, $conn); if($aux['total']>0){ $p = new pagination; $p->Items($aux['total']); $p->limit($items); $p->currentPage($page); $p->adjacents(3); $p->nextLabel('<strong>Próxima</strong>');//changing next text $p->prevLabel('<strong>Anterior</strong>');//changing previous text //$p->nextIcon('');//removing next icon //$p->prevIcon('');//removing previous icon //$p->changeClass("jogger");//changing class $p->calculate(); $p->urlFriendly(); //$p->target("/page/%/"); $p->target("http://www.site.com/site/sessao/noticias_de_quadrinhos/%/"); $p->show(); echo $aux['total']." noticia(s) encontrada(s)."; echo "<div id=\"noticiasquadrinhos\">"; while($row = mysql_fetch_assoc($query)){ echo "<a href=\"site/exibindonoticia/sessao/".$row['id']."/\" title=\"Noticias\"><strong>[".date('d/m/Y',strtotime($row['data']))."]</strong> ".$row['titulo']."</a><br />"; } echo '</div>'; }else{ echo "Não há noticias a serem exibidas."; }


<?php class pagination{ /*Default values*/ var $total_pages = -1;//items var $limit = null; var $target = ""; var $page = 1; var $adjacents = 2; var $showCounter = false; var $className = "pagination"; var $parameterName = "page"; var $urlF = false;//urlFriendly /*Buttons next and previous*/ var $nextT = "Next"; var $nextI = "&#187;"; //&#9658; var $prevT = "Previous"; var $prevI = "&#171;"; //&#9668; /*****/ var $calculate = false; #Total items function items($value){$this->total_pages = (int) $value;} #how many items to show per page function limit($value){$this->limit = (int) $value;} #Page to sent the page value function target($value){$this->target = $value;} #Current page function currentPage($value){$this->page = (int) $value;} #How many adjacent pages should be shown on each side of the current page? function adjacents($value){$this->adjacents = (int) $value;} #show counter? function showCounter($value=""){$this->showCounter=($value===true)?true:false;} #to change the class name of the pagination div function changeClass($value=""){$this->className=$value;} function nextLabel($value){$this->nextT = $value;} function nextIcon($value){$this->nextI = $value;} function prevLabel($value){$this->prevT = $value;} function prevIcon($value){$this->prevI = $value;} #to change the class name of the pagination div function parameterName($value=""){$this->parameterName=$value;} #to change urlFriendly function urlFriendly($value="%"){ if(eregi('^ *$',$value)){ $this->urlF=false; return false; } $this->urlF=$value; } var $pagination; function pagination(){} function show(){ if(!$this->calculate) if($this->calculate()) echo "<div class=\"$this->className\">$this->pagination</div>\n"; } function getOutput(){ if(!$this->calculate) if($this->calculate()) return "<div class=\"$this->className\">$this->pagination</div>\n"; } function get_pagenum_link($id){ if(strpos($this->target,'?')===false) if($this->urlF) return str_replace($this->urlF,$id,$this->target); else return "$this->target?$this->parameterName=$id"; else return "$this->target&$this->parameterName=$id"; } function calculate(){ $this->pagination = ""; $this->calculate == true; $error = false; if($this->urlF and $this->urlF != '%' and strpos($this->target,$this->urlF)===false){ //Es necesario especificar el comodin para sustituir echo "Especificaste un wildcard para sustituir, pero no existe en el target<br />"; $error = true; }elseif($this->urlF and $this->urlF == '%' and strpos($this->target,$this->urlF)===false){ echo "Es necesario especificar en el target el comodin % para sustituir el número de página<br />"; $error = true; } if($this->total_pages < 0){ echo "It is necessary to specify the <strong>number of pages</strong> (\$class->items(1000))<br />"; $error = true; } if($this->limit == null){ echo "It is necessary to specify the <strong>limit of items</strong> to show per page (\$class->limit(10))<br />"; $error = true; } if($error)return false; $n = trim($this->nextT.' '.$this->nextI); $p = trim($this->prevI.' '.$this->prevT); /* Setup vars for query. */ if($this->page) $start = ($this->page - 1) * $this->limit; //first item to display on this page else $start = 2; //if no page var is given, set start to 0 /* Setup page vars for display. */ $prev = $this->page - 1; //previous page is page - 1 $next = $this->page + 1; //next page is page + 1 $lastpage = ceil($this->total_pages/$this->limit); //lastpage is = total pages / items per page, rounded up. $lpm1 = $lastpage - 1; //last page minus 1 /* Now we apply our rules and draw the pagination object. We're actually saving the code to a variable in case we want to draw it more than once. */ if($lastpage > 1){ if($this->page){ //anterior button if($this->page > 1) $this->pagination .= "<a href=\"".$this->get_pagenum_link($prev)."\" class=\"prev\">$p</a>"; else $this->pagination .= "<span class=\"disabled\">$p</span>"; } //pages if ($lastpage < 7 + ($this->adjacents * 2)){//not enough pages to bother breaking it up for ($counter = 1; $counter <= $lastpage; $counter++){ if ($counter == $this->page) $this->pagination .= "<span class=\"current\">$counter</span>"; else $this->pagination .= "<a href=\"".$this->get_pagenum_link($counter)."\">$counter</a>"; } } elseif($lastpage > 5 + ($this->adjacents * 2)){//enough pages to hide some //close to beginning; only hide later pages if($this->page < 1 + ($this->adjacents * 2)){ for ($counter = 1; $counter < 4 + ($this->adjacents * 2); $counter++){ if ($counter == $this->page) $this->pagination .= "<span class=\"current\">$counter</span>"; else $this->pagination .= "<a href=\"".$this->get_pagenum_link($counter)."\">$counter</a>"; } $this->pagination .= "..."; $this->pagination .= "<a href=\"".$this->get_pagenum_link($lpm1)."\">$lpm1</a>"; $this->pagination .= "<a href=\"".$this->get_pagenum_link($lastpage)."\">$lastpage</a>"; } //in middle; hide some front and some back elseif($lastpage - ($this->adjacents * 2) > $this->page && $this->page > ($this->adjacents * 2)){ $this->pagination .= "<a href=\"".$this->get_pagenum_link(1)."\">1</a>"; $this->pagination .= "<a href=\"".$this->get_pagenum_link(2)."\">2</a>"; $this->pagination .= "..."; for ($counter = $this->page - $this->adjacents; $counter <= $this->page + $this->adjacents; $counter++) if ($counter == $this->page) $this->pagination .= "<span class=\"current\">$counter</span>"; else $this->pagination .= "<a href=\"".$this->get_pagenum_link($counter)."\">$counter</a>"; $this->pagination .= "..."; $this->pagination .= "<a href=\"".$this->get_pagenum_link($lpm1)."\">$lpm1</a>"; $this->pagination .= "<a href=\"".$this->get_pagenum_link($lastpage)."\">$lastpage</a>"; } //close to end; only hide early pages else{ $this->pagination .= "<a href=\"".$this->get_pagenum_link(1)."\">1</a>"; $this->pagination .= "<a href=\"".$this->get_pagenum_link(2)."\">2</a>"; $this->pagination .= "..."; for ($counter = $lastpage - (2 + ($this->adjacents * 2)); $counter <= $lastpage; $counter++) if ($counter == $this->page) $this->pagination .= "<span class=\"current\">$counter</span>"; else $this->pagination .= "<a href=\"".$this->get_pagenum_link($counter)."\">$counter</a>"; } } if($this->page){ //siguiente button if ($this->page < $counter - 1) $this->pagination .= "<a href=\"".$this->get_pagenum_link($next)."\" class=\"next\">$n</a>"; else $this->pagination .= "<span class=\"disabled\">$n</span>"; if($this->showCounter)$this->pagination .= "<div class=\"pagination_data\">($this->total_pages Pages)</div>"; } } return true; } } ?>

0
O que você mudaria se tivesse Um Dia a Mais?

Quem está online

Usuários navegando neste fórum: Bing [Bot]