Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal ...
Mais uma vez estou aqui precisando da ajuda, ocorre que tenho um sistema de paginação que é bem simples, inclusive ja usei a muito tempo atraz, mas agora to precisando usa-lo ovamente e observei que está com um erro.
Vou tentar explicar:
Ele funciona certinho na 1º página ... mas da 2º página ele ja fica errado. EX: Tenho 12 registros e quero mostrar 4 por página, quando digito: recados?pagina=1, ele mostra os quatro 1º registros, ja em recados?pagina=2 ele mostra 8 regidtros e na ultima página ele mostra os últimos quatro, dessa vez repetidos pois ja foram mostrados na pag 2.
Bom o cod é o seguinte :
<?php
$conn= mysql_connect('127.0.0.1','root','senha') or die ("Erro na conexão");
$db=mysql_select_db('vistosites') or die ("Erro no banco");
$sql="select * from recados_clan"; //seleciona os itens na tabela.
$res=mysql_query($sql);
$total=mysql_num_rows($res); //numero de itens
$itens =4; //numero de itens por pagina
$npaginas = $total / $itens; //numero de paginas
$paginas = ceil($npaginas); //arredonda um numero para cima
$pagina = $_GET["pagina"];
if (!$pagina) {
$primeiro =0;
$pagina=1;
}
else {
$primeiro = ($pagina - 1) * $itens;
}
$ultimo = $itens * $pagina;
$cont = $primeiro;
echo "QUANTIDADE DE RECADOS : (".$total.')<br><br>';
$sql="SELECT *,date_format(data, '%m/%d/%y') AS data FROM recados_clan ORDER BY data DESC , hora DESC LIMIT $cont,$ultimo ";
$res=mysql_query($sql);
while ($row=mysql_fetch_array($res)){
echo " minhas consultas "}
if ($pagina > 1) {
$anterior = $pagina - 1;
echo " <br> ";
echo "<a class='link_rodape' href=\"recados.php?pagina=1\">" . "<<" . "</a>";
echo " ";
echo " <a class='link_rodape' href=\"recados.php?pagina=".$anterior."\">
" ."<" . "</a> ";
}
else {
echo " << ";
echo " ";
echo " < ";
}
echo " ";
$cont = 1;
while ($cont <= $paginas) {
if ($cont == $pagina) {
echo " [ <b>".$cont."</b> ] ";
}
else {
echo "<a class='link_rodape' href=\"recados.php?pagina=".$cont."\">".$cont."</a> ";
}
$cont++;
}
echo " ";
if ($pagina < $paginas) {
$proxima = $pagina + 1;
echo " <a class='link_rodape' href=\"recados.php?pagina=".$proxima."\">" . ">" . "</a> ";
echo " ";
echo "<a class='link_rodape' href=\"recados.php?pagina=".$paginas."\">" . ">>" . "</a>";
}
else {
echo " > ";
echo " ";
echo " >>";
}
?>
Aguardo .....
Certo!
Mas esse codigo ai ta funcionando, eu não entendo muito de php, mas acredito
que não ta muito complicado derrepente não tá tão difícil.
Aguardo uma força da galera que manja de php !!!
O LIMIT aceita dois parâmetros: um é o registro de início e o segundo, o número de registros a serem selecionados, não o último registro. Logo, o segundo parâmetro deve ser SEMPRE 4, ou $itens, no seu caso.
>
O LIMIT aceita dois parâmetros: um é o registro de início e o segundo, o número de registros a serem selecionados, não o último registro. Logo, o segundo parâmetro deve ser SEMPRE 4, ou $itens, no seu caso.
BERALDO,
muito obrigado, este era o detalhe ... agora funcionou redondo.
poderíamos disponibilizar este script no laboratorio !
Resolvido
Não sei lhe dizer ao certo, mas ja algum tempo eu estava procurando algo sobre o assunto e achei aqui mesmo no forum, pesquise sobre paginação e a galera tem já passo a passo explicando sobre o assunto.