Ir para conteúdo
Fórum Script Brasil
  • 0

Esqueci...


Guest - Paulo -

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

  • 0

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 +1

if (!$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ÁGINA

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> "; //SE EXISTIR PÁGINAS ANTERIORES ELE MOSTRA O LINK DE VOLTAR

for ($i = 0; $i <= $paginas; $I++){

$pag = $i +1; //TRANSFORMA ZERO EM 1, PARA NÃO EXIBIR A PÁGINA ZERO

if ($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);

?>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Paulo -

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 177

Deve 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 MESMO

Paulo

Link para o comentário
Compartilhar em outros sites

  • 0

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);

        }

    }

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Paulo -

Fala galera...

realmente os comentários no meio do código deviam estar atrapalhando em algo, agora funcionou normalmente, valeu!!!!!!!!!!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Paulo -

Coloquei o número máximo de registros por página $pag_views = 10

Está 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

Link para o comentário
Compartilhar em outros sites

  • 0

<?
$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...!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Paulo -

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=3

Você fez algum teste?

Obrigado pela atenção...

Paulo

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...