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

Páginação


McBlade

Pergunta

Bom dia galera!! cool.gif

Estou fazendo um sistema de comentários certo?

Mas seria muito inviável eu simplesmente colocá-los na página, pois quando os comentários chegarem a um número muito grande a página ia ficar imensa concordam? tongue.gif

O sistema é simples: dry.gif

(Se a página for a primeira)

1 2 3 4 última »»

(Se não for a primeira)

«« primeira 5 6 7 8 última »»

Lógico que se o número de páginas for muito grande eu tenha uma opção

1 2 3 4 5 6 ... (... significa próximas 6 páginas por exemplo)

Mas eu queria um script básico, fácil de entender, enxuto!! mellow.gif

Alguém aí tem a resposta??? wink.gif

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Tá dando erro!!

$registros_por_pagina = 10;
$pagina = empty($HTTP_GET_VARS['pagina'])? 1 : $HTTP_GET_VARS['pagina'];
$pagina_anterior = $pagina - 1; 
$pagina_posterior = $pagina + 1; 
$registro_inicio = ($registros_por_pagina * $pagina) - $registros_por_pagina;
$sql = "Select com_descricao,loc_login,com_data,com_hora from comentario where pro_codigo = $prj";
$query = mysql_query($sql);
$total_de_registros = mysql_num_rows($query);
if ($total_de_registros <= $registros_por_pagina) { 
$total_de_paginas = 1;
}
elseif (($total_de_registros % $registros_por_pagina) == 0) {
$total_de_paginas = ($total_de_registros / $registros_por_pagina); 
}else{
$total_de_paginas = ($total_de_registros / $registros_por_pagina) + 1; 
}
$total_de_paginas = (int) $total_de_paginas;
if (($pagina > $total_de_paginas) || ($pagina < 0)) 
{ 
echo '<i>O número da página é invalido</i>'; 
exit;
}
$sql = $sql . " LIMIT $registro_inicio, $registros_por_pagina";
$query = mysql_query($sql); 
$total_de_registros_da_pagina = mysql_num_rows($query); 
if ($total_de_registros_da_pagina == 0) 
{
echo '<b>Não há comentários nesse projeto</b>'; 
exit;
}
$link_de_navegacao = '';   
if($pagina_anterior) 
{
$link_de_navegacao .= " <a href='projetos.php?pagina=$pagina_anterior&prj=$prj'>«« Anterior</a> "; 
}
for($i = 1; $i <= $total_de_paginas; $i++)
{
if($i != $pagina)
{
  $link_de_navegacao .= " <a href='projetos.php?pagina=$i&prj=$prj'>$i</a> ";
}else{
  $link_de_navegacao .= " <b>[$i]</b> ";
}
}
if($pagina != $total_de_paginas)
{
$link_de_navegacao .= "<a href='projetos.php?pagina=$pagina_posterior&prj=$prj'>Próximo »»</a>"; 
}
echo "<table width='480' border='0'>";
while ($retorno = mysql_fetch_array($query)) {
echo "<tr>";
echo "<td width='450'><u>$retorno[1]</u> (<strong>$retorno[2] - $retorno[3]</strong>)</td>";
echo "</tr>";
echo "<tr>";
echo "<td width='450'>$retorno[0]</td>";
echo "</tr>";
}
echo "</table>";
echo "<hr>";
echo "<table width='480' border='0'>";
echo "<tr><td><center>$link_de_navegacao</center></td></tr>";
echo "</table>";
}
}

Fala q dá pau na linha 151 será que eu esqueci de fechar todos os { ??

Link para o comentário
Compartilhar em outros sites

  • 0

  $registros_por_pagina = 10;
  $pagina = empty($HTTP_GET_VARS['pagina'])? 1 : $HTTP_GET_VARS['pagina'];
  $pagina_anterior = $pagina - 1; 
  $pagina_posterior = $pagina + 1; 
  $registro_inicio = ($registros_por_pagina * $pagina) - $registros_por_pagina;
  $sql = "Select com_descricao,loc_login,com_data,com_hora from comentario where pro_codigo = $prj";
  $query = mysql_query($sql);
  $total_de_registros = mysql_num_rows($query); // Aqui é Linha 96
  if ($total_de_registros <= $registros_por_pagina) { 
    $total_de_paginas = 1;
  }
  elseif (($total_de_registros % $registros_por_pagina) == 0) {
    $total_de_paginas = ($total_de_registros / $registros_por_pagina);
  }
  else {
    $total_de_paginas = ($total_de_registros / $registros_por_pagina) + 1; 
  }
  $total_de_paginas = (int) $total_de_paginas;
  if (($pagina > $total_de_paginas) || ($pagina < 0)) 
  { 
    echo '<i>O número da página é invalido</i>'; 
    exit;
  }
  $sql = $sql . " LIMIT $registro_inicio, $registros_por_pagina";
  $query = mysql_query($sql); 
  $total_de_registros_da_pagina = mysql_num_rows($query);  // Aqui é linha 114
  if ($total_de_registros_da_pagina == 0) 
  {
    echo '<b>Não há comentários nesse projeto</b>'; 
    exit;
  }
  $link_de_navegacao = '';   
  if($pagina_anterior) 
  {
    $link_de_navegacao .= " <a href='projetos.php?pagina=$pagina_anterior&prj=$prj'>«« Anterior</a> "; 
  }
  for($i = 1; $i <= $total_de_paginas; $i++)
  {
    if($i != $pagina)
    {
      $link_de_navegacao .= " <a href='projetos.php?pagina=$i&prj=$prj'>$i</a> ";
    }
    else
    {
      $link_de_navegacao .= " <b>[$i]</b> ";
    }
  }
  if($pagina != $total_de_paginas)
  {
    $link_de_navegacao .= "<a href='projetos.php?pagina=$pagina_posterior&prj=$prj'>Próximo »»</a>"; 
  }
  echo "<table width='480' border='0'>";
  while ($retorno = mysql_fetch_array($query)) {
    echo "<tr>";
    echo "<td width='450'><u>$retorno[1]</u> (<strong>$retorno[2] - $retorno[3]</strong>)</td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td width='450'>$retorno[0]</td>";
    echo "</tr>";
  }
  echo "</table>";
  echo "<hr>";
  echo "<table width='480' border='0'>";
  echo "<tr><td><center>$link_de_navegacao</center></td></tr>";
  echo "</table>";

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\electronics\projetos.php on line 96

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\electronics\projetos.php on line 114

Nas Linhas Marcadas Pelo Comentário!!

Link para o comentário
Compartilhar em outros sites

  • 0

Ops eu tava marcando!!! biggrin.gif

Tem um pau na minha SQL!! Ao invés de loc_login era log_login!!!! laugh.gif

Eu só vi quando postei!!! cool.gif

Mas o meu código acabou dando nisso aí!!! Vlw pela ajuda galera!!! tongue.gif

Mas ainda não tá funcionando como eu gostaria!!!! Quando você está na página 1 o [1] não aparece só 2 Próximo »»

    $registros_por_pagina = 2;
    $pagina = empty($HTTP_GET_VARS['pagina'])? 1 : $HTTP_GET_VARS['pagina'];
    $pagina_anterior = $pagina - 1; 
    $pagina_posterior = $pagina + 1; 
    $registro_inicio = ($registros_por_pagina * $pagina) - $registros_por_pagina;
    $sql = "Select com_descricao,log_login,com_data,com_hora from comentario where pro_codigo = $prj";
    $query = mysql_query($sql);
    $total_de_registros = mysql_num_rows($query);
    if ($total_de_registros <= $registros_por_pagina) { 
  	$total_de_paginas = 1;
    }
    elseif (($total_de_registros % $registros_por_pagina) == 0) {
  	$total_de_paginas = ($total_de_registros / $registros_por_pagina);
    }
    else {
  	$total_de_paginas = ($total_de_registros / $registros_por_pagina) + 1; 
    }
    $total_de_paginas = (int) $total_de_paginas;
    if (($pagina > $total_de_paginas) || ($pagina < 0)) 
    { 
  	echo '<i>O número da página é invalido</i>'; 
  	exit;
    }
    $sql = $sql . " LIMIT $registro_inicio, $registros_por_pagina";
    $query = mysql_query($sql); 
    $total_de_registros_da_pagina = mysql_num_rows($query); 
    if ($total_de_registros_da_pagina == 0) 
    {
  	echo '<b>Não há comentários nesse projeto</b>'; 
  	exit;
    }
    $link_de_navegacao = '';   
    if($pagina_anterior) 
    {
  	$link_de_navegacao .= " <a href='projetos.php?pagina=$pagina_anterior&prj=$prj'>«« Anterior</a> "; 
    }
    for($i = 1; $i <= $total_de_paginas; $i++)
    {
  	if($i != $pagina)
  	{
     $link_de_navegacao .= " <a href='projetos.php?pagina=$i&prj=$prj'>$i</a> ";
  	}
  	else
  	{
     $link_de_navegacao .= " <b>[$i]</b> ";
  	}
    }
    if($pagina != $total_de_paginas)
    {
  	$link_de_navegacao .= "<a href='projetos.php?pagina=$pagina_posterior&prj=$prj'>Próximo »»</a>"; 
    }
    $ncor = 1;
    echo "<table width='100%' border='0' align='left'>";
    while ($retorno = mysql_fetch_array($query)) {
      if ($ncor==1) {
        echo "<tr><td width='450'>";
     $ncor = 2; }
  	else {
        echo "<tr bgcolor='#D3D3D3'><td width='450'>";
     $ncor = 1; }
  	echo "<u>$retorno[1]</u> (<strong>$retorno[2] - $retorno[3]</strong>)<br>";
  	echo "$retorno[0]</td></tr>";
    }
    echo "</table>";
    echo "<br><br><br>";
    echo "<hr size='2' color='#006699'><center>$link_de_navegacao</center>";

dá uma força ae q eu to perdido!!!!!

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,6k
×
×
  • Criar Novo...