Depois de ler script sobre paginação de resultados php mysql encontrei vários script e acabei adaptand o um . Ele funciona sem nenhum problema, só que eu quero uma coisa: ao exibir os resultados ele mostra a paginação da meneira seguinte: Anterior 1 2 3 4 5 Seguinte, mas a clicar seguinte ele vai para pagina só que não muda 1 2 3 4 5 para Anterior 6 7 8 9 10 Seguinte assim sucessivamente.
alguém pode me dizer o que preciso acrescentar ou se isso é feito com php. A baixo coloco o script:
<?php
include("connection.php");
echo "<div id='pag'>";
//Paginação dos resultados
//Numero maximo de registo por página
$perPage=4;
//Obter o total de linhas (registos) na tabela
$getTotal="SELECT COUNT(*) FROM teses";
$total=mysql_query($getTotal,$connect);
$row=mysql_fetch_row($total);
$totalReg=$row[0]; //Total de registos
//Obter a página actual
if(isset($_GET['curPage'])){
$curPage=$_GET['curPage'];
}else{
$curPage=0;
}
//Calcular a row inicial
$startRow=$curPage*$perPage;
$next=$curPage+1;
$prev=$curPage-1;
$totalPages=ceil($totalReg/$perPage);
//exibir os resultados obtidos em toda tabela
echo "Mostrar de ";
echo $startRow+1;
if($startRow+1<$totalReg){
echo " a ";
if($startRow+$perPage<$totalReg){
echo $startRow+$perPage;
}else{
echo " ".$totalreg;
}
}
echo " num total de ".$totalReg." resultados<br>";
//Navegar entre os resultados
//criar o link back
if($curPage>0){
$link_prev="<a href=".$_SERVER['PHP_SELF']."?curPage=".$prev."><<Anterior  </a>";
}else{
echo " ";
}
//criar o link forward
if($startRow+$perPage<$totalPages){
$link_next="<a href=".$_SERVER['PHP_SELF']."?curPage=".$next.">Seguinte>></a>";
}else{
echo " ";
}
//Criar link para cada página
$menu=" ";
for ($i=0; $i<=$perPage; $i++){
$curPage=$i+1; //evitar 0
if ($curPage==$i){
$menu.=$curPage;
}else{
$menu.="<a href=".$_SERVER['PHP_SELF']."?curPage=".$curPage.">".$curPage." "."</a>";
}
}
//Exibir o painel de navegação
echo"$link_prev $menu $link_next";
echo "<br>";
echo "</div>";
echo "<br>";
?>
Pergunta
magassomba
Olá a todos,
Depois de ler script sobre paginação de resultados php mysql encontrei vários script e acabei adaptand o um . Ele funciona sem nenhum problema, só que eu quero uma coisa: ao exibir os resultados ele mostra a paginação da meneira seguinte: Anterior 1 2 3 4 5 Seguinte, mas a clicar seguinte ele vai para pagina só que não muda 1 2 3 4 5 para Anterior 6 7 8 9 10 Seguinte assim sucessivamente.
alguém pode me dizer o que preciso acrescentar ou se isso é feito com php. A baixo coloco o script:
<?php include("connection.php"); echo "<div id='pag'>"; //Paginação dos resultados //Numero maximo de registo por página $perPage=4; //Obter o total de linhas (registos) na tabela $getTotal="SELECT COUNT(*) FROM teses"; $total=mysql_query($getTotal,$connect); $row=mysql_fetch_row($total); $totalReg=$row[0]; //Total de registos //Obter a página actual if(isset($_GET['curPage'])){ $curPage=$_GET['curPage']; }else{ $curPage=0; } //Calcular a row inicial $startRow=$curPage*$perPage; $next=$curPage+1; $prev=$curPage-1; $totalPages=ceil($totalReg/$perPage); //exibir os resultados obtidos em toda tabela echo "Mostrar de "; echo $startRow+1; if($startRow+1<$totalReg){ echo " a "; if($startRow+$perPage<$totalReg){ echo $startRow+$perPage; }else{ echo " ".$totalreg; } } echo " num total de ".$totalReg." resultados<br>"; //Navegar entre os resultados //criar o link back if($curPage>0){ $link_prev="<a href=".$_SERVER['PHP_SELF']."?curPage=".$prev."><<Anterior  </a>"; }else{ echo " "; } //criar o link forward if($startRow+$perPage<$totalPages){ $link_next="<a href=".$_SERVER['PHP_SELF']."?curPage=".$next.">Seguinte>></a>"; }else{ echo " "; } //Criar link para cada página $menu=" "; for ($i=0; $i<=$perPage; $i++){ $curPage=$i+1; //evitar 0 if ($curPage==$i){ $menu.=$curPage; }else{ $menu.="<a href=".$_SERVER['PHP_SELF']."?curPage=".$curPage.">".$curPage." "."</a>"; } } //Exibir o painel de navegação echo"$link_prev $menu $link_next"; echo "<br>"; echo "</div>"; echo "<br>"; ?>Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.