Guest - Paulo - Postado Abril 6, 2004 Denunciar Share Postado Abril 6, 2004 Tinha mais uma coisa que eu ía perguntar e acabei esquecendo...O que devo implementar também no código abaixo para que no caso de existirem mais de 30 registros por exemplo, os livros sejam distribuídos em páginas? 10 de cada vez!Por exemplo:Primeira Página - Página 1, Página 2, Página 3 - Última Página<?$sql = "select * from acervo where categoria='$codigo'";$query = @mysql_query($sql);if (!$query){ die ("Problemas ao executar o sql !!!");} else { $total = mysql_num_rows($query); if($total == 0) { echo "nenhum livro nessa categorias"; } else { if($total>0) echo "$total livros nessa categoria"; else echo "Nenhum livro encontrado nessa categoria"; while ($coluna = @mysql_fetch_array($query)){ $idlivro = $coluna["idlivro"]; $nome = $coluna["nome"]; echo "<a href='verlivro.php?codigo=$idlivro'>$nome</a><br>"; } }}mysql_close($conn);?>Galera, se alguém puder me ajudar nessa, eu AGRADEÇO MUITO! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 edgar2000br Postado Abril 6, 2004 Denunciar Share Postado Abril 6, 2004 Procure por paginacao no forum, este assunto já foi abordado varias vezes. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Paulo - Postado Abril 6, 2004 Denunciar Share Postado Abril 6, 2004 Caras, eu juro que procurei sobre isso, mas não consegui adaptar ao meu código, dá erros!Se alguém puder me ajudar.....VALEU! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Newton Pasqualini Postado Abril 6, 2004 Denunciar Share Postado Abril 6, 2004 Fala Paulo, beleza?Vou te explicar como paginar registros, é muito fácil...<?$pag_views = ''; //DEFINA AQUI O NÚMERO DE REGISTROS POR PÁGINA/*O IF ABAIXO VAI DIZER QUE SE A VARIAVEL $PAGINA NÃO FOI DEFINIDA, $PAGINA É = 1 (ISSO EVITA PÁGINA 0).CASO CONTRÁRIO A VARIAVEL $PAGINA TERÁ COMO VALOR A PÁGINA A SER VISTA.*/if (!$pagina) {$pagina = 1;} else {$pagina = $pagina;}$start = $pagina -1; //SUBTRAI 1 DE $PAGINA PARA$inicio = $start * $pag_views; //MULTIPLICAR PELO NUMERO DE REGISTROS POR PÁGINA E OBTER UM PONTO INICIAL.$sql = "select * from acervo where categoria='$codigo'";$query = @mysql_query($sql);$limita = "$sql LIMIT $inicio,$pag_views"; //DIZ PARA INICIAR DO RESULTADO DE $INICIO E EXTENDER $PAG_VIEWS.$executa = @mysql_query($limita); //EXECUTA $LIMITA$volta = $pagina -1; //A PÁGINA ANTERIOR É IGUAL A PÁGINA ATUAL -1$proxima = $pagina +1; //A PÁGINA POSTERIOR É IGUAL A PÁGINA ATUAL +1if (!$query){die ("Problemas ao executar o sql !!!");} else {$total = mysql_num_rows($query);$paginas = $total / $pag_views; //DIVIDE O TOTAL DE REGISTROS PELO NÚMERO DE REGISTROS POR PÁGINAif($total == 0) {echo "nenhum livro nessa categorias";} else {if($total>0)echo "$total livros nessa categoria";elseecho "Nenhum livro encontrado nessa categoria";while ($coluna = @mysql_fetch_array($executa)){$idlivro = $coluna['idlivro'];$nome = $coluna['nome'];echo "<a href='verlivro.php?codigo=$idlivro'>$nome</a><br>";}if ($volta>0) echo "<a href=?pagina=$volta>Volta</a> "; //SE EXISTIR PÁGINAS ANTERIORES ELE MOSTRA O LINK DE VOLTARfor ($i = 0; $i <= $paginas; $I++){$pag = $i +1; //TRANSFORMA ZERO EM 1, PARA NÃO EXIBIR A PÁGINA ZEROif ($pag>1){echo "<a href=?pagina=$pag>$pag</a> "}}if ($proxima<$paginas) echo "<a href=?pagina=$proxima>Proxima</a>"; //SE EXISTIR MAIS REGISTROS ELE MOSTRA O LINK PARA A PRÓXIMA PÁGINA}}mysql_close($conn);?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Paulo - Postado Abril 7, 2004 Denunciar Share Postado Abril 7, 2004 Olá Newton, muito obrigado mesmo pela explicação!Porém na hora que rodo o código, agora está aprecendo um erro:Parse error: parse error, expecting `','' or `';'' in /home/cosmopol/public_html/utilitarios/biblioteca/vercategoria.php on line 177Deve ter algum parâmetro a mais pro meio! Fucei mais de 1 hora aqui mudando algumas coisas, mas não consegui fazer rodar, você pode dar uma revisada pra mim? VALEU MESMOPaulo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ppgsalomao Postado Abril 7, 2004 Denunciar Share Postado Abril 7, 2004 Aqui o código tratado:só que sem os comentários que é pra deixar ele mais limpo !<?$pag_views = ''; if (!$pagina) { $pagina = 1;} else { $pagina = $pagina;}$start = $pagina -1;$inicio = $start * $pag_views; $sql = "select * from acervo where categoria='$codigo'";$query = @mysql_query($sql);$limita = "$sql LIMIT $inicio,$pag_views"; $executa = @mysql_query($limita);$volta = $pagina -1; $proxima = $pagina +1;if (!$query){ die ("Problemas ao executar o sql !!!");} else { $total = mysql_num_rows($query); $paginas = $total / $pag_views; if($total == 0) { echo "nenhum livro nessa categorias"; } else { if($total>0){ echo "$total livros nessa categoria"; } else { echo "Nenhum livro encontrado nessa categoria"; while ($coluna = @mysql_fetch_array($executa)){ $idlivro = $coluna['idlivro']; $nome = $coluna['nome']; echo "<a href='verlivro.php?codigo=$idlivro'>$nome</a><br>"; } if ($volta>0) { echo "<a href=?pagina=$volta>Volta</a> "; for ($i = 0; $i <= $paginas; $i++){ $pag = $i +1; if ($pag>1){ echo "<a href=?pagina=$pag>$pag</a> "; } } if ($proxima<$paginas) { echo "<a href=?pagina=$proxima>Proxima</a>"; } }mysql_close($conn); } }}?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Paulo - Postado Abril 7, 2004 Denunciar Share Postado Abril 7, 2004 Fala galera...realmente os comentários no meio do código deviam estar atrapalhando em algo, agora funcionou normalmente, valeu!!!!!!!!!!!!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Paulo - Postado Abril 7, 2004 Denunciar Share Postado Abril 7, 2004 olá, eu estava enganado, funcionou sem erros, mas não está mais listando os livros existentes!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ppgsalomao Postado Abril 7, 2004 Denunciar Share Postado Abril 7, 2004 você altero tudo q tinha q altera certinho ??coloco a query, acerto o nº de páginas e etc ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Paulo - Postado Abril 7, 2004 Denunciar Share Postado Abril 7, 2004 Coloquei o número máximo de registros por página $pag_views = 10Está aparecendo normalmente "Existem x livros cadastrado", mas não está mais mostrando os livros e nem aparecendo aquele negócio de próxima página e tal!A única alteração que fiz foi colocar o "10" no pag_views, porque? tinha mais alguma alteração pra fazer?Paulo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Newton Pasqualini Postado Abril 7, 2004 Denunciar Share Postado Abril 7, 2004 <? $pag_views = '10'; if (!$pagina) { $pagina = 1; } else { $pagina = $pagina; } $start = $pagina -1; $inicio = $start * $pag_views; $sql = "select * from acervo where categoria='$codigo'"; $query = @mysql_query($sql); $limita = "$sql LIMIT $inicio,$pag_views"; $executa = @mysql_query($limita); $volta = $pagina -1; $proxima = $pagina +1; if (!$query){ die ("Problemas ao executar o sql !!!"); } else { $total = mysql_num_rows($query); $paginas = $total / $pag_views; if($total == 0) { echo "nenhum livro nessa categorias"; } else { if($total>0){ echo "$total livros nessa categoria"; } else { echo "Nenhum livro encontrado nessa categoria"; } while ($coluna = @mysql_fetch_array($executa)){ $idlivro = $coluna['idlivro']; $nome = $coluna['nome']; echo "<a href='verlivro.php?codigo=$idlivro'>$nome</a><br>"; } if ($volta>0) { echo "<a href=?pagina=$volta>Volta</a> "; for ($i = 0; $i <= $paginas; $i++){ $pag = $i +1; if ($pag>1){ echo "<a href=?pagina=$pag>$pag</a> "; } } if ($proxima<$paginas) { echo "<a href=?pagina=$proxima>Proxima</a>"; } } mysql_close($conn); } } ?>Pronto e funcionando...! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Paulo - Postado Abril 7, 2004 Denunciar Share Postado Abril 7, 2004 Newton Pasqualini funcionou normalmente!VALEU MESMO!Agora está normal Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Paulo - Postado Abril 8, 2004 Denunciar Share Postado Abril 8, 2004 Olá, Newton Pasqualini e pessoal do fórum...Eu fiz um teste no meu sistema, está tudo normal, sem erros, aparecem os livros cadastrados e tudo mais, porém, quando era para ser feita a paginação, ela não acontece!Existe uma categoria "Religiosos", para fazer um teste, eu coloquei o pag_views=2 e cadastrei 3 livros na categoria, ou seja, era para aparecer os dois primeiros livros e aparecer aquele negócio de "1, 2 Próxima Página", mas isto não está acontecendo!Para conferir, basta acessar o link:http://www.cosmopolisemrede.com.br/utilita...ia.php?codigo=3Você fez algum teste?Obrigado pela atenção...Paulo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Newton Pasqualini Postado Abril 8, 2004 Denunciar Share Postado Abril 8, 2004 Acessa http://scriptbrasil.com.br/forum/index.php?showtopic=19101 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Paulo -
Tinha mais uma coisa que eu ía perguntar e acabei esquecendo...
O que devo implementar também no código abaixo para que no caso de existirem mais de 30 registros por exemplo, os livros sejam distribuídos em páginas? 10 de cada vez!
Por exemplo:
Primeira Página - Página 1, Página 2, Página 3 - Última Página
<?
$sql = "select * from acervo where categoria='$codigo'";
$query = @mysql_query($sql);
if (!$query){
die ("Problemas ao executar o sql !!!");
} else {
$total = mysql_num_rows($query);
if($total == 0) {
echo "nenhum livro nessa categorias";
} else {
if($total>0)
echo "$total livros nessa categoria";
else
echo "Nenhum livro encontrado nessa categoria";
while ($coluna = @mysql_fetch_array($query)){
$idlivro = $coluna["idlivro"];
$nome = $coluna["nome"];
echo "<a href='verlivro.php?codigo=$idlivro'>$nome</a><br>";
}
}
}
mysql_close($conn);
?>
Galera, se alguém puder me ajudar nessa, eu AGRADEÇO MUITO!
Link para o comentário
Compartilhar em outros sites
13 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.