Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

charly

Paginação - (Forum)

Mensagens Recomendadas

charly

boas a todos os programadores,

venho aqui pois queria uma pequena ajuda, pois acredito que existirão muitas pessoas com muito mais experiencia do que eu na área de paginação.

Eu tenho um site (nexusystem.com) no qual tenho um forum, um jogo, basicamente uma comunidade toda criada por mim em php (tudo sozinho).

Nunca obtive grandes ajudas para a criação das coisas, e nunca vi por outros como criar os meus coponentes,

mas já há algum tempo tenho andado a pensar como devo fazer um sistema de paginação.

if (isset($_GET["p"])){
  $pagina = intval($_GET["p"]); //obtem a pagina dada por argumento GET
}else{
  $pagina = 1;
}

// dados a pesquisar
$acabar = ($pagina * 10); // ex.: 1 * 10 = 10 - 10 = 0, começando no post 0
$comecar = $acabar - 10; // ex.: 1 * 10 = 10, acabando no post 10

$query = "select * from posts where id_ass = ".intval($_GET["topic"])." LIMIT ".$comecar.",".$acabar;

//apos isto o precesso de query e while para print

Acima será basicamente um esboço escrito à pressao, mas não sei se existe algo que me ajude neste processo para alem deste que apresento,

se alguém conhecer outro peço que o demonstrem aqui por favor

o meu obrigado

edit : Em frente à tag code inicial usa isto, com a respectiva linguagem a que se refere : code=php

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
yoda

Não foi testado.

$page = new stdClass;

$page->max= 10;
$page->number = array_key_exists('p', $_GET) ? (int) $_GET['p'] : 1;

$page->start = $page->number > 1 ? (($page->number * $page->max) - 10) : 0;
$page->end = $page->number * $page->max;

$query = "select * from posts where id_ass = ".intval($_GET["topic"])." LIMIT ".$page->start.",".$page->end;

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
charly

Existe alguma função que retorne o numero de páginas que são obtidas, no caso de 55 posts, ele indicar que existem 6 páginas por exemplo?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.