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

Como criar um codigo de paginação


SnakeJulio

Pergunta


Olá pessoal, tenho um site de videos, como o redtube , um site de conteudo adulto só q na pagina dos videos aparece 12 videos e como tem masi de 700 videos o site ele cria outras paginas, ateh ai tudo certo só q aparece todos os links de todas as paginas!

veja do q eu estou falando entrando no site:

---EDITADO---

eu quero q crie algumas paginas e aparece o link ... (3 pontinhos) para ir pra ultima pagina tipo assim

esse é o code q eu to usando:

if($_REQUEST[/page][page]=="")

$page = 1;

else

$page = $_REQUEST[/page][page];



if($_REQUEST[category]!="rd" && $_REQUEST[category]!="mv" && $_REQUEST[category]!="md" && $_REQUEST[category]!="tf" && $_REQUEST[category]!="tr" && $_REQUEST[category]!="rf")

        $category="mr";

else

        $category = $_REQUEST[category];



if($category=="mr")$sql = "SELECT count(*) as total from video where type='public' $active order by addtime desc limit $config[total_per_ini]";

elseif($category=="mv")$sql = "SELECT count(*) as total from video where type='public' $active order by viewnumber desc limit $config[total_per_ini]";

elseif($category=="md")$sql = "SELECT count(*) as total from video where type='public' $active order by com_num desc limit $config[total_per_ini]";

elseif($category=="tf")$sql = "SELECT count(*) as total from video where type='public' $active order by fav_num desc limit $config[total_per_ini]";

elseif($category=="tr")$sql = "SELECT count(*) as total from video where type='public' $active order by ratedby*rate desc limit $config[total_per_ini]";

elseif($category=="rf")$sql = "SELECT count(*) as total from video where type='public' $active and featured='yes' order by addtime desc limit $config[total_per_ini]";

elseif($category=="rd")$sql = "SELECT count(*) as total from video where type='public' $active order by rand() limit $config[total_per_ini]";



$ars = $conn->Execute($sql);

if($ars->fields['total']<=$config[total_per_ini])$total = $ars->fields['total'];

else $total = $config[total_per_ini];

$tpage = ceil($total/$config[items_per_page]);

if($tpage==0) $spage=$tpage+1;

else $spage = $tpage;

$startfrom = ($page-1)*$config[items_per_page];

//generate next and previous




if($category=="mr")$sql="SELECT * from video where type='public' $active order by addtime desc limit $startfrom, $config[items_per_page]";

elseif($category=="mv")$sql="SELECT * from video where type='public' $active order by viewnumber desc limit $startfrom, $config[items_per_page]";

elseif($category=="md")$sql="SELECT * from video where type='public' $active order by com_num desc limit $startfrom, $config[items_per_page]";

elseif($category=="tf")$sql="SELECT * from video where type='public' $active order by fav_num desc limit $startfrom, $config[items_per_page]";

elseif($category=="tr")$sql="SELECT * from video where type='public' $active order by (ratedby*rate) desc limit $startfrom, $config[items_per_page]";

elseif($category=="rf")$sql="SELECT * from video where type='public' $active and featured='yes' order by addtime desc limit $startfrom, $config[items_per_page]";

elseif($category=="rd")$sql="SELECT * from video where type='public' $active order by rand() limit $startfrom, $config[items_per_page]";



$rs = $conn->Execute($sql);

$users = $rs->getrows();

$start_num=$startfrom+1;

$end_num=$startfrom+$rs->recordcount();



$page_link="";
$k=1;

for($k=1; $k<$page; $k++)
{if ($k%30==0) {$page_link.="";} $page_link.="<a href='video.php?page=$k&viewtype=$_REQUEST[viewtype]&category=$category'>$k</a>  ";}

if ($k==$page):
{$page_link.="<SPAN style=\"padding:0px; background: #252525; border:1px solid #f9f9f9; font-size:10px;\">$k</SPAN>  ";}
endif;

if ($k%30==0) {$page_link.="";}

for($k=$page+1;$k<=$tpage;$k++)
{if ($k%30==0) {$page_link.="";}$page_link.="<a href='video.php?page=$k&viewtype=$_REQUEST[viewtype]&category=$category'>$k</a>  ";}

//END PAGING

Como fazer para q aparece só algumas paginas e o link pra ir direto pra ultima?

Editado por ESerra
As regras proibem links para sites de conteúdo adulto.
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Isso dai envolve uma lógica um pouco mais elaborada, já vi um tutorial sobre isso mas não tenho aqui, o que você pode fazer é pegar o phpmyadmin, e olhar nele, pois eles também fazem a paginação dessa maneira que você quer...

Link para o comentário
Compartilhar em outros sites

  • 0

E ai SnakeJulio, beleza !?

Ainda esta interessado na paginação !?

Eu tenho um código que eu uso que é o seguinte:

Na primeira página fica assim: Primeira | 1 | 2 | 3 | Última

Na segunda: Primeira | 1 | 2 | 3 | 4 | Ultima

Na terceira: Primeira | 1 | 2 | 3 | 4 | 5 | Ultima

Na quarta página: Primeira | 2 | 3 | 4 | 5 | 6 | Ultima

e dai por diante, vai alternando, sempre com a pagina em questao no meio e em negrito e duas antes e duas depois.. sem contar o link Primeira e Última..

O link Última, você pode alterar pelos "..." que você queria.. ficaria mais ou menos assim: Primeira | 1 | 2 | 3 | 4 | 5 | ...

Não sei se é bem o que você quer, mas se servir, dá um toque que eu coloco aqui pra você..

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

boas pessoal, eu sei k este post já foi feito a muito tempo, mas era exatamente um script como Parisi indicou que precisava

já fiz um sistema de busca avancada com alguma ajuda de ESerra mas agora precisava era de algo que fizesse isso

Na primeira página fica assim: Primeira | 1 | 2 | 3 | Última

Na segunda: Primeira | 1 | 2 | 3 | 4 | Ultima

Na terceira: Primeira | 1 | 2 | 3 | 4 | 5 | Ultima

Na quarta página: Primeira | 2 | 3 | 4 | 5 | 6 | Ultima

e dai por diante, vai alternando, sempre com a pagina em questao no meio e em negrito e duas antes e duas depois.. sem contar o link Primeira e Última..

///////////

eu tenho isto :

$_GET['pagina']   = pagina actual
$paginas  = total de paginas
$_GET['consulta']  = palavra procurada
////SCRIPT PAGINA ANTERIOR
if ($_GET['pagina']>1)
{
$ant = $_GET['pagina'] - 1;
echo '<a href="?consulta='.$_GET['consulta'].'&pagina='.$ant.'"><img src="images/prev.png" alt="'.$ant.'" border="0"></a>&nbsp;&nbsp;';
}

/////PAGINACAO NORMAL
for($n = 1; $n <= $paginas; $n++)
{
echo '<a href="?consulta='.$_GET['consulta'].'&pagina='.$n.'">'.$n.'</a>&nbsp;&nbsp;';  
}

////SCRIPT PAGINA SEGUINTE
if ($_GET['pagina']< $paginas)
{
$seg = $_GET['pagina'] + 1;
echo '<a href="?consulta='.$_GET['consulta'].'&pagina='.$seg.'"><img src="images/next.png" alt="'.$seg.'" border="0"></a>';
}

tenho uma BD com centenas de produtos e não é bom exibir 100 paginas para o utilizador do site.

obrigado pela ajuda

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...