Jump to content


Photo

Paginação - baseado suerphp.com.br


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

#1 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 01/02/2003, 17:05

Fiz uma paginação de resultados, achei muito boa.. baseada na paginação do superphp.com.br.

<?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++) {
        if ($pagina == $i) {
                print " | <b>$i</b>";
        } else {
                $url = "$PHP_SELF?pagina=$i";
                print " | <a href=\"$url\">$i</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;";
}

?>

Qualquer duvida ou erro... postem aqui!!!! :D

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

"Aquele que se define se limita."


#2 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 01/02/2003, 20:15

seu code soh tem um problema.. eli começa du 0

#3 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 01/02/2003, 21:05

Não entendi...

Explica ae...

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

"Aquele que se define se limita."


#4 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 01/02/2003, 21:49

a paginação deli eh assim

0 - 1 - 2 - 3 - 4 - 5

uq mtus detestam

#5 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 01/02/2003, 21:57

vou ver oq posso fazer.....

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

"Aquele que se define se limita."


#6 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 01/02/2003, 22:07

como que eu posso tirar isso???

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

"Aquele que se define se limita."


#7 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 01/02/2003, 22:17

http://www.phpbrasil...icle.php/id/322

#8 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 02/02/2003, 15:45

CORRIGIDO!!!
Aqui vai ele, agora comeca assim 1 - 2 -3 - 4 - 5 em vez de 0 - 1 -2 -3 -4.....

Codigo:
<?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;";
}
?>

Pronto maximous, fopi soh colocar aquela linha e pronto....

blz???/

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

"Aquele que se define se limita."


#9 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 07/02/2003, 23:31

Tem certeza que deu certo??

Aqui começõu do -1..

Eu tentei dar um geito e a única coisa que eu conseguí foi naum aparecer o 0 (zero)...

Mas o que eu queria que no primeiro resultado ficasse o número 1 em negrito..

Vc pode tentar ae?? Eu num conseguí.. :(

Valew..

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#10 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 08/02/2003, 01:17

Bom chinello, aqui fica normal cara....

Tipo...

Se eu estiver na pagina 2, fica assim:

<< Pagina Anterior 1 | 2 | 3 | Proxima Pagina >>

Entendeu????


Fica certinho igual ao superphp

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

"Aquele que se define se limita."


#11 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 08/02/2003, 01:30

Bom chinello, aqui fica normal cara....

Tipo...

Se eu estiver na pagina 2, fica assim:

<< Pagina Anterior 1 | 2 | 3 | Proxima Pagina >>

Entendeu????


Fica certinho igual ao superphp


Aqui tb fica assim..

Só que eu queria assim:

Que a primeira página dos resultados fosse a página 1, aí ficaria assim:

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


Entendeu?? Sendo que isso tinha que ser exibido na primeira página dos resultados..

Espero que vc tenha entendido..

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#12 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 08/02/2003, 02:17

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

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

"Aquele que se define se limita."


#13 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 08/02/2003, 02:21

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ê... :(
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#14 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 08/02/2003, 13:58

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

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

"Aquele que se define se limita."


#15 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 08/02/2003, 17:04

Aeeee..

Agora deu.. :D

Mas estranho, eu tinha tentado trocar o sinal alí tb.. Mas naum deu..

Talvez eu tenha mexido em outra coisa junto.. Ou melhor, e certo que eu mexí em outra coisa junta.. :D

hehe.. Valew véio..

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38




0 user(s) are reading this topic

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

IPB Skin By Virteq