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

Paginação


camis

Pergunta

Oi gente, tudo bem?

Alguém sabe um código de paginação que traz resultados de uma consulta em tabelas do bd?

Eu consegui um mas, quando faz a consulta ele traz os resultados e a paginação em baixo, mas quando eu vou navegar na paginação ele traz todos os registros, ele não consegue mais filtrar, eu acho que teria que fazer um outro select e testar novamente a condição da consulta, mas não sei onde nem como.

Alguém pode me ajudar.

Muito obrigada

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Tente usar isto...

if(!isset($bloco)) $bloco = 0;
$limite = 3;
$consulta = " SELECT * FROM nomes LIMIT $bloco, $limite";

$hostname = "";
$username = "";
$senha = "";
$banco = "";

$conexao = mysql_connect($hostname, $username, $senha);
mysql_select_db($banco, $conexao);


$resultado = mysql_query($consulta);

//Exibição os registros
echo "
<table cellspacing='0' cellpadding='5' border='1'>
  <tr>
    <td><b>id       </b></td>
    <td><b>nome     </b></td>
    <td><b>sobrenome</b></td>
    <td><b>idade    </b></td>
  </tr>";
while($i = mysql_fetch_row($resultado)) 
  echo " <tr>
           <td>$i[0]</td>
           <td>$i[1]</td>
           <td>$i[2]</td>
           <td>$i[3]</td>
         </tr>";
echo "</table>";

//Limpeza das variáveis de conexão
unset($consulta);
unset($resultado);

//Nova consulta para obtenção do total de registros
$consulta = "SELECT count(*) as count FROM nomes"; 
$resultado = mysql_query($consulta);
$i = mysql_fetch_row($resultado);
$total = $i[0];

if($bloco > 0) 
   echo "<a href=\"".$PHP_SELF . "?bloco=" . ($bloco - $limite) . 
        "\">Anterior</a><BR>\n";
if($total > ($bloco + $limite)) 
   echo "<a href=\"" . $PHP_SELF . "?bloco=" . ($bloco + $limite) . 
        "\">Próximo</a><BR>\n";
?>

Espero ter te ajudado. :rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 0

Use isto pra testes:

CREATE TABLE `nomes` (
  `id` int(3) unsigned NOT NULL auto_increment,
  `nome` varchar(50) default NULL,
  `sobrenome` varchar(50) default NULL,
  `idade` tinyint(3) unsigned default NULL,
  KEY `id` (`id`)
) TYPE=MyISAM;

INSERT INTO nomes VALUES("1", "Roberto", "Silva", "38");
INSERT INTO nomes VALUES("2", "André", "Pereira", "17");
INSERT INTO nomes VALUES("3", "Charles", "Oliveira", "29");
INSERT INTO nomes VALUES("4", "Antônio", "Moreira", "45");
INSERT INTO nomes VALUES("5", "Pedro", "Santos", "61");
INSERT INTO nomes VALUES("6", "Antônio", "Gomes", "33");
INSERT INTO nomes VALUES("7", "Mariano", "José", "22");

Até mais.... ;)

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...