Edição feita por: blo0d, 28/11/2003, 10:52.
Paginação - baseado suerphp.com.br
#31
Posted 27/11/2003, 23:45
#32
Posted 28/11/2003, 02:52
É 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:
Não sei se vocês entenderam........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.
Como preceder?
#33
Posted 28/11/2003, 10:13
#34 Almond Joy
Posted 29/11/2003, 00:14
Por favor gente, eh puro desespero e ainda nao consegui!Eae pessoal?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!!
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
#35
Posted 13/12/2003, 03:16
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
Posted 03/04/2004, 21:55
1 2 3 4 5 .... 20 21 22 23 24
???
no kso tenho vários resultados... :/
Sua Fonte de códigos, tutoriais e
serviços gratuitos.
--------------------------------------------
http://www.codigofonte.net
--------------------------------------------
#37
Posted 07/04/2004, 01:47
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.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!!
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
Posted 07/04/2004, 02:36
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
Posted 07/04/2004, 14:45
E ai amigos... eu montei o sistema de paginação.. esta okAgora entendi, sem querer eu coloquei um caracter errado, emvez de - é +, aqui ele certo e o outro eu ja arrumei tb, pode ver agora...É..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ê...<?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\">« Anterior</a>"; } else { print "« 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óxima »</a>"; } else { print " | Próxima »"; } ?>
ahh, chinello, desculpa pela complicação ai, mas agora ta certo....
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\">« Anterior</a>";
} else {
print "« 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óxima »</a>";
} else {
print " | Próxima »";
}
echo "Resultado...<br>";
}
mysql_close($conecta);
?>
podem me ajudar ?????
#40
Posted 26/04/2004, 19:24
#41
Posted 26/04/2004, 19:24
mas tb... tem q botar os links dps do while() se nao ele fica no loop tb
flw
Edição feita por: blo0d, 06/05/2004, 20:01.
#42
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.artweb7.com.br
www.clicgyn.com.br
#43
Posted 02/08/2004, 21:55
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
Posted 03/08/2004, 13:41
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\">« Anterior</a>"; } else { print "« 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óxima »</a>"; } else { print " | Próxima »"; } ?> |
eh so adiciona WHERE categoria ='$_GET[cat]' no sql!! qlqer duvida pergunte
#45
Posted 03/08/2004, 15:41
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\">« Anterior</a>"; } else { print "« 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óxima »</a>"; } else { print " | Próxima »"; } ?> |
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)