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

Paginacao


Guest - Renato -

Pergunta

Guest - Renato -

Bom,

Eu estou procurando um script que me ajude a montar um sistema de paginacao para a minha consulta. Mais tudo que eu vi no forum da SB foram só exemplos extensos, enjoativos e de forma alguma didaticos ><

Sera que alguém poderia me instruir a montar um? Acho que minha consulta não seria necessaria seria? já que eu não fiz teste algum, é uma consulta pura.

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0

pequei na internet e complementei com mais alguma coiusinha, é simples mas para mim funciona muito bem....

<?
//agora vamos criar a clausula sql
$busca = "SELECT * FROM vocabulario";

//especifique o total de registros a serem exibidos por página:
$total_reg = "10"; //Número de registros por página

//se a página não for especificada pagina é igual a 1(isso evita de exibir a página 0 de inicio)
if(!$pagina) {
$pc = "1";
} else {
$pc = $pagina;
}

//vamos determinar o valor inicial das buscas limitadas.
$inicio = $pc-1;
$inicio = $inicio*$total_reg;

//vamos selecionar os dados
$limite = mysql_query("$busca ORDER BY letraid LIMIT $inicio,$total_reg");
$todos = mysql_query("$busca");

$tr = mysql_num_rows($todos); // verifica o número total de registros
$tp = $tr / $total_reg; // verifica o número total de páginas

//Agora vamos criar os botões "Anterior e próximo"
$anterior = ($pc-$tp)+1;

$proximo = $tp;
$proximo1 = $pc +1;
$proximo2 = $pc +2;
$proximo3 = $pc +3;
if($pc<$tp) {
echo " [<a href='?pagina=$proximo'>Última</a>";
echo " <a href='?pagina=$proximo1'>1&nbsp;</a> ";
echo " <a href='?pagina=$proximo2'>2&nbsp;</a> ";
echo " <a href='?pagina=$proximo3'>3&nbsp;</a>] &nbsp;";
}
if($pc>1) {
echo "&nbsp; | [<a href='?pagina=$anterior1'>&nbsp;1</a> ";
echo " <a href='?pagina=$anterior2'>&nbsp;2</a> ";
echo " <a href='?pagina=$anterior3'>&nbsp;3</a> ";
echo " <a href='?pagina=$anterior'>&nbsp;Primeira</a> ]";
}
echo "<br>";
## vamos criar a visualização ##
while($dados = mysql_fetch_array($limite)) {
$vo_nome = $dados["vo_nome"];
$vo_descricao = $dados["vo_descricao"];
echo "Nome<br> <strong>$vo_nome</strong><br><br>";
echo "Descrição<br> <div align='justify'>$vo_descricao</div><br><br><br>";
}

//Agora vamos criar os botões "Anterior e próximo"
$anterior = ($pc-$tp)+1;

$proximo = $tp;
$proximo1 = $pc +1;
$proximo2 = $pc +2;
$proximo3 = $pc +3;
if($pc<$tp) {
echo " [<a href='?pagina=$proximo'>Última</a>";
echo " <a href='?pagina=$proximo1'>1&nbsp;</a> ";
echo " <a href='?pagina=$proximo2'>2&nbsp;</a> ";
echo " <a href='?pagina=$proximo3'>3&nbsp;</a>] &nbsp;";
}
if($pc>1) {
echo "&nbsp; | [<a href='?pagina=$anterior1'>&nbsp;1</a> ";
echo " <a href='?pagina=$anterior2'>&nbsp;2</a> ";
echo " <a href='?pagina=$anterior3'>&nbsp;3</a> ";
echo " <a href='?pagina=$anterior'>&nbsp;Primeira</a> ]";
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

no caso esta $pagina ela é a propria paginação, tipo ela vai ter outras variaveis de soma, para depois ver a quantidades de pagina e mostrar na web, tipo como http://www.seusite.com.br/vocabulario.php?pagina=6, que a mesma indica que esta na pagina 6 deste formulario.....

se não for isso o pessoal do forum ajuda ai.....

nesta parte se você ver ela entraria na execução....

//Agora vamos criar os botões "Anterior e próximo"

$anterior = ($pc-$tp)+1;

$proximo = $tp;

$proximo1 = $pc +1;

$proximo2 = $pc +2;

$proximo3 = $pc +3;

if($pc<$tp) {

echo " [<a href='?pagina=$proximo'>Última</a>";

echo " <a href='?pagina=$proximo1'>1&nbsp;</a> ";

echo " <a href='?pagina=$proximo2'>2&nbsp;</a> ";

echo " <a href='?pagina=$proximo3'>3&nbsp;</a>] &nbsp;";

}

if($pc>1) {

echo "&nbsp; | [<a href='?pagina=$anterior1'>&nbsp;1</a> ";

echo " <a href='?pagina=$anterior2'>&nbsp;2</a> ";

echo " <a href='?pagina=$anterior3'>&nbsp;3</a> ";

echo " <a href='?pagina=$anterior'>&nbsp;Primeira</a> ]";

}

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Renato -

Puts, falei meu, oh, peguei o codigo do guilerme e adaptei pro meu codigo e não mudou nada olhem ele ai

<?
include("conect.php");

$imovel = $_POST["imovel"];
$uso = $_POST["uso"];
$dormitorios = $_POST["dormitorios"];
$bairro = $_POST["bairro"];
$endereco = $_POST["endereco"];
$vagas = $_POST["vagas"];
$area = $_POST["area"];


//agora vamos criar a clausula sql
$busca = "SELECT * FROM tblimoveis WHERE Imovel = '$imovel' AND Uso = '$uso'";

//especifique o total de registros a serem exibidos por página:
$total_reg = "10"; //Número de registros por página

//se a página não for especificada pagina é igual a 1(isso evita de exibir a página 0 de inicio)
if(!$pagina) {
$pc = "1";
} else {
$pc = $pagina;
}

//vamos determinar o valor inicial das buscas limitadas.
$inicio = $pc-1;
$inicio = $inicio*$total_reg;

//vamos selecionar os dados
$resultado = mysql_query("$busca LIMIT $inicio,$total_reg");
$todos = mysql_query("$busca");

$tr = mysql_num_rows($todos); // verifica o número total de registros
$tp = $tr / $total_reg; // verifica o número total de páginas

//Agora vamos criar os botões "Anterior e próximo"
$anterior = ($pc-$tp)+1;

$proximo = $tp;
$proximo1 = $pc +1;
$proximo2 = $pc +2;
$proximo3 = $pc +3;
if($pc<$tp) {
echo " [<a href='?pagina=$proximo'>Última</a>";
echo " <a href='?pagina=$proximo1'>1&nbsp;</a> ";
echo " <a href='?pagina=$proximo2'>2&nbsp;</a> ";
echo " <a href='?pagina=$proximo3'>3&nbsp;</a>] &nbsp;";
}
if($pc>1) {
echo "&nbsp; | [<a href='?pagina=$anterior1'>&nbsp;1</a> ";
echo " <a href='?pagina=$anterior2'>&nbsp;2</a> ";
echo " <a href='?pagina=$anterior3'>&nbsp;3</a> ";
echo " <a href='?pagina=$anterior'>&nbsp;Primeira</a> ]";
}
echo "<br>";
## vamos criar a visualização ##
while($rs = mysql_fetch_array($resultado)) {
echo "<table width=55% border=1 bgcolor=EEF0F9>";
echo "<tr>";
echo "<td>";
echo "<font face=verdana size=2>$rs[Imovel]</font></td>";
echo "<td><font size=2 face=Verdana>Endereco:&nbsp;$rs[Endereco]</font></td>";
echo "</tr><tr>";
echo "<td><font size=2 face=Verdana>Uso:&nbsp;$rs[Uso]</font></td>";
echo "<td><font size=2 face=Verdana>Vagas:&nbsp;$rs[Vaga]</font></td>";
echo "</tr><tr>";
echo "<td><font size=2 face=Verdana>Dormitorios:&nbsp;$rs[Dormitorios]</font></td>";
echo "<td><font size=2 face=Verdana>Area:&nbsp;$rs[AreaTerreno]</font></td>";
echo "</tr><tr>";
echo "<td colspan=2><font size=2 face=Verdana>$rs[DescricaoImovel]</font></td>";
echo "</tr><tr>";
echo "<td><font size=2 face=Verdana color=blue>Fotos</font></td>";
echo "<td><font size=2 face=Verdana color=blue>Mais Informacoes</font></td></tr></table>";

echo "<br><br><br>";
}

//Agora vamos criar os botões "Anterior e próximo"
$anterior = ($pc-$tp)+1;

$proximo = $tp;
$proximo1 = $pc +1;
$proximo2 = $pc +2;
$proximo3 = $pc +3;
if($pc<$tp) {
echo " [<a href='?pagina=$proximo'>Última</a>";
echo " <a href='?pagina=$proximo1'>1&nbsp;</a> ";
echo " <a href='?pagina=$proximo2'>2&nbsp;</a> ";
echo " <a href='?pagina=$proximo3'>3&nbsp;</a>] &nbsp;";
}
if($pc>1) {
echo "&nbsp; | [<a href='?pagina=$anterior1'>&nbsp;1</a> ";
echo " <a href='?pagina=$anterior2'>&nbsp;2</a> ";
echo " <a href='?pagina=$anterior3'>&nbsp;3</a> ";
echo " <a href='?pagina=$anterior'>&nbsp;Primeira</a> ]";
}
?>

Eu fiz algo errado..?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Renato -

Gente eu tambem montei esse codigo, mais não funciona corretamente!

Quando eu rodo esse codigo, não da erro. Mais assim, aparece 1 registro. Quando eu clico em Proximo, aparece o registro 1 + o registro 2. é algo parecidoo com isso...

<?
/*
Código de paginação feito por: Milton Teles Filho
HTTP://BRMOL.COM/
*/
include("conect.php");
$host="localhost";  //Geralmente localhost
$user="root";  //Usuario do mysql
$pass="";  //Senha do mysql
$bd="imoveis";  //Banco de dados
$tabela="tblimoveis";  //Tabela com os resultados
//Conexão
mysql_connect($host,$user,$pass) or die("Erro na conexão com o mysql pois: ".mysql_error());
mysql_select_db($bd) or die("Erro na seleção do banco de dados pois: ".mysql_error());
//Iniciando o script
$pega1="SELECT * FROM $tabela"; 

 //Codigo para selecionar a tabela
$pega4=mysql_query("$pega1");  //Seleciona a tabela
$conta1=@mysql_num_rows($pega4);  //Conta o número de registros que tem na tabela

$limite="1";  //Limite de resultados por página

$total=$conta1/$limite;  //Verifica o número total de paginas

if(!$_GET[pagina]){  //Se ?pagina= não tiver valor retorna o valor como 1
$pagina="1";
} else {
$pagina=$_GET[pagina];  //Pega o valor de ?pagina=
}

$inicio=$pagina - 1;
$inicio=$inicio * $limite;
$fim=$pagina * $limite;

$pega2="$pega1 Limit $inicio,$fim";
$pega3=mysql_query($pega2);

?>

Titulo
<br>
<?

while($mostra=@mysql_fetch_array($pega3)){  //Criando a pagina de resultados


echo "<table width=55% border=1 bgcolor=EEF0F9>";
echo "<tr>";
echo "<td>";
echo "<font face=verdana size=2>$mostra[Imovel]</font></td>";
echo "<td><font size=2 face=Verdana>Endereco:&nbsp;$mostra[Endereco]</font></td>";
echo "</tr><tr>";
echo "<td><font size=2 face=Verdana>Uso:&nbsp;$mostra[Uso]</font></td>";
echo "<td><font size=2 face=Verdana>Vagas:&nbsp;$mostra[Vaga]</font></td>";
echo "</tr><tr>";
echo "<td><font size=2 face=Verdana>Dormitorios:&nbsp;$mostra[Dormitorios]</font></td>";
echo "<td><font size=2 face=Verdana>Area:&nbsp;$mostra[AreaTerreno]</font></td>";
echo "</tr><tr>";
echo "<td colspan=2><font size=2 face=Verdana>$mostra[DescricaoImovel]</font></td>";
echo "</tr><tr>";
echo "<td><font size=2 face=Verdana color=blue>Fotos</font></td>";
echo "<td><font size=2 face=Verdana color=blue>Mais Informacoes</font></td></tr></table>";

echo "<br><br><br>";



}

$pg1=$pagina-1;
$pg2=$pagina+1;
if($pagina > 1){  //Se ?pagina= for maior que 1 mostra o link da pagina anterior
echo "<a href=?pagina=$pg1>Anterior</a>";
}
echo " | ";
if($pagina < $total){  //Se ?pagina= for menor que o numero total de paginas mostra o link de próximo
echo "<a href=?pagina=$pg2>Próximo</a>";
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Renato -

discupa o flood ae mas o pessoal vai postando e meu post vai ficando la pra traz, e postando uma resposta ridicula como essa é a unica forma que eu conheco de fazer ele subir de novo xD se alguém souber otra me avisa q eu não conheco esse forum >.<. Me ajudem ae com o script gente. to ficando cansado...

Quando eu num posto codigo, seis exigem codigo, quando eu posto um, ficam com preguica de ler e não respondem...ai é foda não é?.....

Link para o comentário
Compartilhar em outros sites

  • 0
Gente eu tambem montei esse codigo, mais não funciona corretamente!

Quando eu rodo esse codigo, não da erro. Mais assim, aparece 1 registro. Quando eu clico em Proximo, aparece o registro 1 + o registro 2. é algo parecidoo com isso...

<?
/*
Código de paginação feito por: Milton Teles Filho
HTTP://BRMOL.COM/
*/
include("conect.php");
$host="localhost";  //Geralmente localhost
$user="root";  //Usuario do mysql
$pass="";  //Senha do mysql
$bd="imoveis";  //Banco de dados
$tabela="tblimoveis";  //Tabela com os resultados
//Conexão
mysql_connect($host,$user,$pass) or die("Erro na conexão com o mysql pois: ".mysql_error());
mysql_select_db($bd) or die("Erro na seleção do banco de dados pois: ".mysql_error());
//Iniciando o script
$pega1="SELECT * FROM $tabela"; 

 //Codigo para selecionar a tabela
$pega4=mysql_query("$pega1");  //Seleciona a tabela
$conta1=@mysql_num_rows($pega4);  //Conta o número de registros que tem na tabela

$limite="1";  //Limite de resultados por página

$total=$conta1/$limite;  //Verifica o número total de paginas

if(!$_GET[pagina]){  //Se ?pagina= não tiver valor retorna o valor como 1
$pagina="1";
} else {
$pagina=$_GET[pagina];  //Pega o valor de ?pagina=
}

$inicio=$pagina - 1;
$inicio=$inicio * $limite;
$fim=$pagina * $limite;

$pega2="$pega1 Limit $inicio,$fim";
$pega3=mysql_query($pega2);

?>

Titulo
<br>
<?

while($mostra=@mysql_fetch_array($pega3)){  //Criando a pagina de resultados


echo "<table width=55% border=1 bgcolor=EEF0F9>";
echo "<tr>";
echo "<td>";
echo "<font face=verdana size=2>$mostra[Imovel]</font></td>";
echo "<td><font size=2 face=Verdana>Endereco:&nbsp;$mostra[Endereco]</font></td>";
echo "</tr><tr>";
echo "<td><font size=2 face=Verdana>Uso:&nbsp;$mostra[Uso]</font></td>";
echo "<td><font size=2 face=Verdana>Vagas:&nbsp;$mostra[Vaga]</font></td>";
echo "</tr><tr>";
echo "<td><font size=2 face=Verdana>Dormitorios:&nbsp;$mostra[Dormitorios]</font></td>";
echo "<td><font size=2 face=Verdana>Area:&nbsp;$mostra[AreaTerreno]</font></td>";
echo "</tr><tr>";
echo "<td colspan=2><font size=2 face=Verdana>$mostra[DescricaoImovel]</font></td>";
echo "</tr><tr>";
echo "<td><font size=2 face=Verdana color=blue>Fotos</font></td>";
echo "<td><font size=2 face=Verdana color=blue>Mais Informacoes</font></td></tr></table>";

echo "<br><br><br>";



}

$pg1=$pagina-1;
$pg2=$pagina+1;
if($pagina > 1){  //Se ?pagina= for maior que 1 mostra o link da pagina anterior
echo "<a href=?pagina=$pg1>Anterior</a>";
}
echo " | ";
if($pagina < $total){  //Se ?pagina= for menor que o numero total de paginas mostra o link de próximo
echo "<a href=?pagina=$pg2>Próximo</a>";
}
?>
esta parte esta correta ?, sua senha no banco de dados é mesmo vazia....
include("conect.php");
$host="localhost";  //Geralmente localhost
$user="root";  //Usuario do mysql
$pass="";  //Senha do mysql
$bd="imoveis";  //Banco de dados
$tabela="tblimoveis";  //Tabela com os resultados

só uma sugestão depois acresente o que esta de vermelho:

$pega4=mysql_query("$pega1") or die (mysql_error());

e ve o que que da....

outra questão na paginação que te passei qual erro que da, isto é em qual linha, pelo que vi parece que você não concetou a pagina de select DB, isto é pagina de conectar ao banco de dados.... de uma olhada la que no meu pc e entros funciona direito....

Link para o comentário
Compartilhar em outros sites

  • 0

Tipo cara usa esse

$resultadospg = 10;

$busca = mysql_query("SELECT * FROM tabela ORDER BY id DESC") or print (mysql_error());

$lpp = $resultadospg;

$total = mysql_num_rows($busca);

$paginas = ceil($total / $lpp);

if(!isset($pagina)) { $pagina = 0; }

$inicio = $pagina * $lpp;

$buscar = mysql_query("SELECT * FROM tabela ORDER BY id DESC LIMIT $inicio, $lpp");

while($linha = mysql_fetch_array($buscar)){

echo "<a href=link>resultado</a><br>";

}

if($pagina > 0) {

  $menos = $pagina - 1;

  $url = "nomedapagina.php?pagina=$menos";

    echo "<a href='".$url."'>Anterior</a>";

}

if($pagina < ($paginas - 1)) {

  $mais = $pagina + 1;

  $url = "nomedapagina.php?pagina=$mais";

    echo "<a href='".$url."'>Proxima</a>";

     

        }

se você entender de php vai saber como funciona laugh.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Quando eu rodo esse codigo, não da erro.

Puts guilerme se não sabe ler não, se eu disse que não da erro como eu posso não ter conectado >< eu estou testando isso em localhost se você não percebeu então PARA DE ACHA ERRO NO MEU CODIGO SE você não LEU ELE ><

Me empolguei gente descupa xD

olha aqui isto é um forum, pessoas podem ajudar as pessoas eu li não posso ter visto na hora, agora se você quer resolver sozinho os seus codigos então acho que você esta no lugar errado

agora eu te entreguei me codigo numa boa sendo que aqui no meu pc funciona beleza, se no seu não rodou, o problema não e meu... mad.gif e você falou isso

Puts, falei meu, oh, peguei o codigo do guilerme e adaptei pro meu codigo e não mudou nada olhem ele ai

neste local que você falou o codigo esta faltando algo, se você não percebeu o problema também não é meu......

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal essa mania de pegar script pronto isso que da vocês nunca vao aprender

e esse papo de que funciona num lugar e não em outro é só ver onde esta o erro e

arrumar pois um script bem feito tem que funionar em qualquer lugar

esse forum tem bastante pessoas que gostam de ajudar a ensinar mas se vocês tiverem interesse dai você conseguem ficar bom senao vocês vao ficar sempre com script prontos pra usar e editar ,mas se for pra pegar e fazer um do zero vocês nem saberam fazer

desculpa a todos que postaram nesse tópico e eu não falo a todos, e que sabe fazer os proprios script essa mensagem não é pra vc, e quem não sabe fazer se quiser aprender tamos aqui pra ajudar wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

cara...

guilherme, seu sistema não deve funcionar porque foi feito usando registers_globais on, procura se acustumar a usar $_GET e $_POST

...

agora

renato, não aceite sistemas prontos, eu falo por experencia propria, quando tava comecando php me deram um sistema de paginacao... eu fiquei usando aquele e esqueci de aprender a fazer um..

so aprendi agora, muitooooooooooooo tempo depois, e so aprendi porque apaguei todas as paginacoes que eu tinha e comecei a tetnar a fazer da minha cabeca !

é isso cara

falo

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