Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andre Summers

Paginação com URL Amigavel

Recommended Posts

Alguém conhece alguém script ou tutorial de paginação que funcione com URLs amigaveis?

 

:blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po cara...deve ter uns 100000 topicos no fórum falando como fazer...podia dar uma procurada!

Cara...faz do jeito de antes,com uma pequena diferença,passa pro htaccess da rewrite nas suas urls (tráfego de index.php/1 é redirecionado para index.php?page=1).Tem que mudar seus links,para que fiquem da maneira que deseja.

Ou simplesmente muda os links e ao invés de pegar os valores por GET,da um explode na url e trata através daquele explode.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só eu pesquisei bastante e não achei nenhum tópico que fosse parecido com o meu problema.

 

Eu estou tentando fazer assim

$items = 10;
$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 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("/page/%/");
			$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/noticia...s_de_quadrinhos

 

Não sei qual o erro. Por favor me ajudem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh soh você passar mais um parâmetro indicando qual é a página q você está..

 

qual o erro apresentado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não avança nem retrocede. Fica parado na página 1. Contudo ele conta os registros totais direito e exibe o conteudo da página 1 corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Andre, pelo que entendi do seu código, ele não esta atribuindo a variavel $page o numero da página, ela esta sempre ficando com o valor 1, pq você esta atribuindo esse valor logo no inicio tente removendo o $page = 1 do inicio do código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Andre, pelo que entendi do seu código, ele não esta atribuindo a variavel $page o numero da página, ela esta sempre ficando com o valor 1, pq você esta atribuindo esse valor logo no inicio tente removendo o $page = 1 do inicio do código.

Era isso mesmo, amigo. Muito obrigado pela ajuda.

 

Engraçado é que o $page=1 era para ser para indicar a página 1 como a inicial. Se usar este script sem URL amigavel funciona. Mas com URL amigavel só funciona se tirar o $page=1

 

Estranho isso.

 

Bem... muito obrigado a todos que responderam. Qualquer duvida eu volto aqui. Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente o seguinte, acho que resolverá:

 

$pagina = isset( $page ) ? $page : 1;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.