Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
estou com o seguinte problema!!
uso para paginação a função $_SERVER['REQUEST_URI'], esta dando serto a paginação... o problema é que quando click em um numero anterior a url começa a somar.....
veja o exemplo:
localhost/er_Esportes/categoria.php?CategoriaID=2&pg=1
ai click na pagina 2
localhost/er_Esportes/categoria.php?CategoriaID=2&pg=2
agora volta a clicar na pg 1,
localhost/er_Esportes/categoria.php?CategoriaID=2&pg=2&pg=1
e assim por diante.. minha funçao pega a url e soma a pagina... o problema é que vai sempre aumentando a url... sem fim....
pergunto tem algum geito de parar isto?
alguem pode me ajudar???
abaixo listo meu codigo que estou usando!
/////////////////////////paginação///////////////////////
<?php
$quant_pg = ceil($quantreg/$numreg);
$quant_pg++;
// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
if ( $_GET['pg'] > 0) {
echo "<a href=".$_SERVER['REQUEST_URI']."&pg=".($_GET['pg']-1) ." class=pg><b>« anterior</b></a>";
} else {
echo "";
}
// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=1;$i_pg<$quant_pg;$i_pg++) {
// Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
if ($pg == ($i_pg-1)) {
echo " <span class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=".$_SERVER['REQUEST_URI']."&pg=$i_pg2
class=pg><b>$i_pg</b></a> ";
}
}
// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if (($pg+2) < $quant_pg) {
echo "<a href=".$_SERVER['REQUEST_URI']."&pg=".($_GET['pg']+1)." class=pg><b>proximo »</b></a>";
} else {
echo " ";
}
?>// daqui pra trás você já fez a conexão com o banco e realizou a consulta
// e o resultado foi armazenado na variável $res
$rows_per_page = 10; //registros por página
$total_rows = mysql_num_rows($res); //total de registros da consulta
$total_pages = ceil($total_rows / $rows_per_page); //total de páginas necessárias
$current_page = ($_GET['page'])? (integer)$_GET['page'] : 1; //página atual
$first_row = ($current_page - 1) * $rows_per_page; //índice do primeiro registro a ser exibido
$last_row = $first_row + ($rows_per_page - 1); //índice do último registro a ser exibido
$next_pg = $current_page + 1; //valor da próxima página
$prev_pg = $current_page - 1; //valor da página anterior
$has_next = ($next_pg <= $total_pages); //retorna um booleano informando se existe uma próxima página
$has_prev = ($prev_pg >= 1); //retorna um booleano informando se existe uma página anterior
espero ter ajudado http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
No meu script eu fiz assim:
$_pagi_enlace = $_SERVER['REQUEST_URI'];
$piece = explode("?",$_pagi_enlace);
//Daí você utiliza $piece[0]
// que vai ser somente o endereco da sua página atual, sem as variaveis
>
No meu script eu fiz assim:
$_pagi_enlace = $_SERVER['REQUEST_URI'];
$piece = explode("?",$_pagi_enlace);
//Daí você utiliza $piece[0]
// que vai ser somente o endereco da sua página atual, sem as variaveis
obrigado pela ajuda!!
mas assim.... a paginão é uma paginação de resultados... então preciso passar a id. do resuldado, caso contrário não acha a página!
tens alguma idéia de como fazer?
mto obrigado
>
// daqui pra trás você já fez a conexão com o banco e realizou a consulta
// e o resultado foi armazenado na variável $res
$rows_per_page = 10; //registros por página
$total_rows = mysql_num_rows($res); //total de registros da consulta
$total_pages = ceil($total_rows / $rows_per_page); //total de páginas necessárias
$current_page = ($_GET['page'])? (integer)$_GET['page'] : 1; //página atual
$first_row = ($current_page - 1) * $rows_per_page; //índice do primeiro registro a ser exibido
$last_row = $first_row + ($rows_per_page - 1); //índice do último registro a ser exibido
$next_pg = $current_page + 1; //valor da próxima página
$prev_pg = $current_page - 1; //valor da página anterior
$has_next = ($next_pg <= $total_pages); //retorna um booleano informando se existe uma próxima página
$has_prev = ($prev_pg >= 1); //retorna um booleano informando se existe uma página anterior
espero ter ajudado http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
mto obrigado...
estarei fazendo a adptação para ver c consigo!!
Olá,
Conforme o aviso existente no fórum de origem deste post, não é permitida a postagem de dúvidas nesta área, motivo pelo qual este tópico será movido para o fórum principal deste assunto.
Tópico Movido
Origem: Laboratório de scripts (PHP) http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Destino: PHP - Patrocínio: TreinaWeb