Jump to content

Paginação - (Forum)


charly
 Share

Recommended Posts

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

Link to comment
Share on other sites

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;
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.