Jump to content


Photo

Paginação - baseado suerphp.com.br


  • Faça o login para participar
46 replies to this topic

#31 blo0d

blo0d

    legal isso.. =X

  • Usuários
  • 154 posts
  • Sexo:Não informado

Posted 27/11/2003, 23:45

:D ê consigui

Edição feita por: blo0d, 28/11/2003, 10:52.

gabrieelmk@hotmail.com

#32 X4ND4O/RP

X4ND4O/RP

    12 Horas

  • Usuários
  • 202 posts
  • Sexo:Não informado
  • Localidade:Ribeirão Preto / SP

Posted 28/11/2003, 02:52

Pessoal, tenho esse mesmo sistema instalado no meu site e gostaria de saber como implementá-lo com WHERE.
É que eu estou usando ele para mostrar screenshots de um jogo, da seguinte maneira:
Tenho uma página que mostra screenshots diferentes toda hora que atualiza (RAND()), e quando a pessoa clica nela, mostra a shot com o tamanho original (em uma popup). Só que é o seguinte, eu estou usando pagina.php?id=$id .
E por isso, precisaria implementar esse script para usar com WHERE:

Vamos dizer que a shot que a pessoa clicou é a 3ª (1 shot por página), sendo assim, na página deveria mostrar a shot e a paginação "aberta" no numero 3....... mas não estou conseguindo fazer isso... O máximo que eu consegui fazer foi usar condição para que se ainda não houvesse uma páginação, ele mostra um resultando usando WHERE e outro para a paginação (que sempre fica na 1ª pagina), se a pessoa clica em próximo ou anterior ou em algum número, a condição ativa somente o resultado da paginação.

Não sei se vocês entenderam........ :P
Como preceder? :( :lol:
// null...

#33 blo0d

blo0d

    legal isso.. =X

  • Usuários
  • 154 posts
  • Sexo:Não informado

Posted 28/11/2003, 10:13

Opa... axu q a conexão q eu fiz fiko peLa metade :P
gabrieelmk@hotmail.com

#34 Almond Joy

Almond Joy
  • Visitantes

Posted 29/11/2003, 00:14

Oi! Tenho uma pergunta sobre o codigo... o que falta pra ele ficar PERFEITO seria o seguinte:
Como eu tenho pouco espaco pra exibir as paginas eu queria o seguinte:

No momento ele esta fazendo assim:
Anterior - 1 - 2 - 3 - 4 - 5...... e continua pra sempre.....

Imagine se eu quero exibir UM registro por pagina, e eu tenho 100 registros, ele vai criar exibir as paginas de 1-100!!!

Eu queria que fosse assim:
quando a pessoa entra tem:
Anterior - 1 - 2 - 3 - 4 - 5 - Proxima
---e quando a pessoa clicar em Proxima ele vai pra:
Anterior - 2 - 3 - 4 - 5 - 6 - Proxima

Entenderam?
Pra nao ocupar TANTO espaco na pagina, pq eu tenho uma tabela de 100px pra exibir minhas paginas e se eu exibir mais de 5 paginas ele quebra a tabela!

podem me ajudar com isso? E' urgente!! :(

Eae pessoal?
Ajuda o cara aí por favor....
Esse cara é génio... ele estás com a mesma pergunta que estou
Por favor ajude ele, que vc estão me ajudando tb.
Valeu cara

Por favor gente, eh puro desespero e ainda nao consegui! :(

#35 Renan Gonçalves

Renan Gonçalves

    Web Developer

  • Usuários
  • 771 posts
  • Sexo:Masculino
  • Localidade:São Paulo, SP
  • Interesses:Programar PHP, Java (e JSP), Javascript (com Ajax, claro), Ruby (on Rails) !

Posted 13/12/2003, 03:16

Certo, olhem isso:

for($i = 0; $i < $paginas; $i++) {
        if (($i <= $pagina + 2 AND $i >= $pagina) OR ($i <= $pagina AND $i >= $pagina - 2)) {
                $linksp = $i + 1;
                if ($pagina == $i) {
                        print " | <b>$linksp</b>";
                } else {
                        $url = "$PHP_SELF?pagina=$i";
                        print " | <a href=\"$url\">$linksp</a>";
                }
        } else {
                if (($i <= $pagina + 3 AND $i >= $pagina) OR ($i <= $pagina AND $i >= $pagina - 3)) {
                        print " ...";
                }
        }              
}



[]'s

Renan Gonçalves
renan.saddam@gmail.com
(WebSite / Gmail / orkut / Windows Live! Messenger
)

"Aquele que se define se limita."


#36 EmartsNet

EmartsNet

    Turista

  • Usuários
  • 35 posts
  • Sexo:Não informado
  • Localidade:Joao Pessoa

Posted 03/04/2004, 21:55

e como fazer tipow...

1 2 3 4 5 .... 20 21 22 23 24

???

no kso tenho vários resultados... :/
------- > CódigoFonte.net <---------
Sua Fonte de códigos, tutoriais e
serviços gratuitos.
--------------------------------------------
http://www.codigofonte.net
--------------------------------------------

#37 portalwebmaster

portalwebmaster

    kd as minas???

  • Usuários
  • 137 posts
  • Sexo:Não informado
  • Localidade:São Paulo - SP

Posted 07/04/2004, 01:47

Oi! Tenho uma pergunta sobre o codigo... o que falta pra ele ficar PERFEITO seria o seguinte:
Como eu tenho pouco espaco pra exibir as paginas eu queria o seguinte:

No momento ele esta fazendo assim:
Anterior - 1 - 2 - 3 - 4 - 5...... e continua pra sempre.....

Imagine se eu quero exibir UM registro por pagina, e eu tenho 100 registros, ele vai criar exibir as paginas de 1-100!!!

Eu queria que fosse assim:
quando a pessoa entra tem:
Anterior - 1 - 2 - 3 - 4 - 5 - Proxima
---e quando a pessoa clicar em Proxima ele vai pra:
Anterior - 2 - 3 - 4 - 5 - 6 - Proxima

Entenderam?
Pra nao ocupar TANTO espaco na pagina, pq eu tenho uma tabela de 100px pra exibir minhas paginas e se eu exibir mais de 5 paginas ele quebra a tabela!

podem me ajudar com isso? E' urgente!! :(

bom eu fiz uma busca aki no fórum por paginação php, então achei este tópico q ja não tem nada desde dezembro.

então to ressiucitando ele hehe

bom vamos ao q interessa

eu quero fazer o mesmo q o "He" quer só que queria fazer mais uma implementação.

tipo ao aparecer os resultados.

Eu queria que fosse assim:
quando a pessoa entra tem:
1 - 2 - 3 - 4 - 5 - ... - Proxima - Ultima
---e quando a pessoa clicar em Proxima ele vai pra:
Primeira - Anterior -... - 10 - 11 - 12 - 13 - 14

será que deu pra me entender?

#38 portalwebmaster

portalwebmaster

    kd as minas???

  • Usuários
  • 137 posts
  • Sexo:Não informado
  • Localidade:São Paulo - SP

Posted 07/04/2004, 02:36

olhem achei um exemplo na minha kra do q quero

vejam por exemplo o invision

ele exibe assim

no inicio ao mostrar os resultados ele mostra assim:

[1] 2 3 ... Última »

quando clico por exemplo no 3 ele mostra sempre dois outros links a esquerda e dois a direita assim:

1 2 [3] 4 5 ... Última »

se tiver ao meio dos resultados onde tenham amis de 2 páginas anteriores e mais de duas posteriores ele faz isso

« Primeira ... 5 6 [7] 8 9 ... Última »

e se ele tiver no final dos resultados ele exibe assim
« Primeira ... 15 [16]

entenderam?

Edição feita por: portalwebmaster, 07/04/2004, 02:38.


#39 Redkobra

Redkobra

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 07/04/2004, 14:45

Tipo cara....

Aqui, se eu entrar na pagina de resultados vai ficar assim:

<< Anterior | 1 | 2 | 3 | Próxima >>


Não é isso que vc quer???

É..

Mas quando peguei este último código que vc postou, apareceu assim aqui:

<< Anterior | -1 | 0 | 1 | 2 | 3 | Próxima >>


Naum sei por quê... :(

Agora entendi, sem querer eu coloquei um caracter errado, emvez de - é +, aqui ele certo e o outro eu ja arrumei tb, pode ver agora...

<?php
$sql = mysql_query("SELECT * FROM tabela");
$lpp = 10; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.

while($l = mysql_fetch_array($sql)) {
      echo "Resultado...<br>";
}

// Agora o mais importante, gera os links....

if ($pagina > 0) {
      $menos = $pagina - 1;
      $url = "$PHP_SELF?pagina=$menos";
      print "<a href=\"$url\">&laquo; Anterior</a>";
} else {
      print "&laquo; Anterior";
}

for($i = 0; $i < $paginas; $i++) {
      $linksp = $i + 1;
      if ($pagina == $i) {
              print " | <b>$linksp</b>";
      } else {
              $url = "$PHP_SELF?pagina=$i";
              print " | <a href=\"$url\">$linksp</a>";
      }
}

if($pagina < ($paginas - 1)) {
      $mais = $pagina + 1;
      $url = "$PHP_SELF?pagina=$mais";
      print " | <a href=\"$url\">Pr&oacute;xima &raquo;</a>";
} else {
      print " | Pr&oacute;xima &raquo;";
}
?>

ahh, chinello, desculpa pela complicação ai, mas agora ta certo....

E ai amigos... eu montei o sistema de paginação.. esta ok

mais aonde aparece os links para navegar, estão repetindo.. conforme o numero de resultados que determino.. exemplo

« Anterior | 1 | 2 | 3 | 4 | Próxima »Resultado...
« Anterior | 1 | 2 | 3 | 4 | Próxima »Resultado...
« Anterior | 1 | 2 | 3 | 4 | Próxima »Resultado...


Meu código é essse:

<?php
$conecta = mysql_connect("localhost", "root", "") or print (mysql_error());

mysql_select_db("bd_php", $conecta) or print(mysql_error());

$sql = mysql_query("SELECT * FROM cliente");
$lpp = 3; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM cliente LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.

while($l = mysql_fetch_array($sql)) {

?>
<tr bgcolor="#99CCCC" class="tx">
<td><? echo $l['Id_cliente']; ?></td>
<td><? echo $l['bd_nome']; ?></td>
<td><a href="mailto:<? echo $l['bd_email']; ?>"><? echo $l['bd_email']; ?></a></td>
<td><? echo $l['bd_tel']; ?></td>
<td><div align="center"><img src="<? echo $l['bd_end']; ?>.gif"></div></td>
</tr>
<?
// Agora o mais importante, gera os links....

if ($pagina > 0) {
$menos = $pagina - 1;
$url = "$PHP_SELF?pagina=$menos";
print "<a href=\"$url\">&laquo; Anterior</a>";
} else {
print "&laquo; Anterior";
}

for($i = 0; $i < $paginas; $i++) {
$linksp = $i + 1;
if ($pagina == $i) {
print " | <b>$linksp</b>";
} else {
$url = "$PHP_SELF?pagina=$i";
print " | <a href=\"$url\">$linksp</a>";
}
}

if($pagina < ($paginas - 1)) {
$mais = $pagina + 1;
$url = "$PHP_SELF?pagina=$mais";
print " | <a href=\"$url\">Pr&oacute;xima &raquo;</a>";
} else {
print " | Pr&oacute;xima &raquo;";

}
echo "Resultado...<br>";
}
mysql_close($conecta);
?>


podem me ajudar ????? :unsure:

#40 blo0d

blo0d

    legal isso.. =X

  • Usuários
  • 154 posts
  • Sexo:Não informado

Posted 26/04/2004, 19:24

tira o echo "Resultado... <br>";
gabrieelmk@hotmail.com

#41 blo0d

blo0d

    legal isso.. =X

  • Usuários
  • 154 posts
  • Sexo:Não informado

Posted 26/04/2004, 19:24

humm.... posto duas vezes.. :/


mas tb... tem q botar os links dps do while() se nao ele fica no loop tb :P

flw

Edição feita por: blo0d, 06/05/2004, 20:01.

gabrieelmk@hotmail.com

#42 __dino__

__dino__

    24 Horas

  • Usuários
  • 411 posts
  • Sexo:Não informado

Posted 11/05/2004, 14:04

olhem achei um exemplo na minha kra do q quero

vejam por exemplo o invision

ele exibe assim

no inicio ao mostrar os resultados ele mostra assim:

[1] 2 3 ... Última »

quando clico por exemplo no 3 ele mostra sempre dois outros links a esquerda e dois a direita assim:

1 2 [3] 4 5 ... Última »

se tiver ao meio dos resultados onde tenham amis de 2 páginas anteriores e mais de duas posteriores ele faz isso

« Primeira ... 5 6 [7] 8 9 ... Última »

e se ele tiver no final dos resultados ele exibe assim
« Primeira ... 15 [16]

entenderam?
Poxa gente isso aki é muito importante pra muita gente!
ajuda a gente com esse códiigo!
eu tenho canal de bate papo e naum tenho muito espaço pra exibir a paginção!
valews
www.anunciautos.com.br - venda e compre seu veiculo - GRÁTIS para anunciar

www.artweb7.com.br
www.clicgyn.com.br

#43 X-Sites

X-Sites

    Turista

  • Usuários
  • 58 posts
  • Sexo:Não informado

Posted 02/08/2004, 21:55

Como faço para exibir o resultado por categorias ?

Os cadastros estao separados assim na tabela

categoria
nome
url
tamanho

Gostaria de exibir
pagina.php?cat=freeware
so exibir os cadastros com a categoria q seje freeware

pagina.php?cat=shareware
so exibir os cadastros com a categoria q seje shareware

#44 together

together

    AFCweb

  • Usuários
  • 282 posts
  • Sexo:Masculino
  • Localidade:Araraquara - SP
  • Interesses:aaaa

Posted 03/08/2004, 13:41

ae faz assim ohh
PHP

<?php
$sql
= mysql_query("SELECT * FROM tabela");
$lpp = 10; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM tabela WHERE categoria ='$_GET[cat]' LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.

while($l = mysql_fetch_array($sql)) {
 echo
"Resultado...<br>";
}

// Agora o mais importante, gera os links....

if ($pagina > 0) {
 
$menos = $pagina - 1;
 
$url = "$PHP_SELF?pagina=$menos";
 print
"<a href=\"$url&#092;">&laquo; Anterior</a>";
} else {
 print
"&laquo; Anterior";
}

for(
$i = 0; $i < $paginas; $i++) {
 if (
$pagina == $i) {
 print
" | <b>$i</b>";
 } else {
 
$url = "$PHP_SELF?pagina=$i";
 print
" | <a href=\"$url&#092;">$i</a>";
 
}
}

if(
$pagina < ($paginas - 1)) {
 
$mais = $pagina + 1;
 
$url = "$PHP_SELF?pagina=$mais";
 print
" | <a href=\"$url&#092;">Pr&oacute;xima &raquo;</a>";
} else {
 print
" | Pr&oacute;xima &raquo;";
}

?>


eh so adiciona WHERE categoria ='$_GET[cat]' no sql!! =) qlqer duvida pergunte

#45 X-Sites

X-Sites

    Turista

  • Usuários
  • 58 posts
  • Sexo:Não informado

Posted 03/08/2004, 15:41

Ae obrigado together ...
Soh falto colocar no inicio tb, para ele não contar todos os cadastros, e sim soh o da categoria selecionada..

PHP
<?php
$sql
= mysql_query("SELECT * FROM tabela WHERE categoria ='$_GET[cat]' ");
$lpp = 10; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM tabela WHERE categoria ='$_GET[cat]' LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.

while($l = mysql_fetch_array($sql)) {
      echo "Resultado...<br>";
}

// Agora o mais importante, gera os links....

if ($pagina > 0) {
      $menos = $pagina - 1;
      $url = "$PHP_SELF?pagina=$menos";
      print "<a href=\"$url&#092;">&laquo; Anterior</a>";
} else {
      print "&laquo; Anterior";
}

for(
$i = 0; $i < $paginas; $i++) {
      if ($pagina == $i) {
              print " | <b>$i</b>";
      } else {
              $url = "$PHP_SELF?pagina=$i";
              print " | <a href=\"$url&#092;">$i</a>";
      }
}

if(
$pagina < ($paginas - 1)) {
      $mais = $pagina + 1;
      $url = "$PHP_SELF?pagina=$mais";
      print " | <a href=\"$url&#092;">Pr&oacute;xima &raquo;</a>";
} else {
      print " | Pr&oacute;xima &raquo;";
}

?>

Edição feita por: X-Sites, 03/08/2004, 15:43.





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq