Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1218
Sexo: Masculino

Paginação de resultados - dúvida

08-03-2009 10:19

Galera,

Tenho um código de paginação de resultados que está funcionando ok. Porém, foi feita uma adaptação: a primeira parte, que realiza a busca, é de um código, e a segunda, que faz os links para páginas, inclusive anterior e próxima, de outro. Apesar de o funcionamento estar correto no meu script, gostaria de saber, por conta da gambiarra que fiz, se, realmente, está tudo ok. E, ainda, quantos links de páginas aparecerão até que apareçam os três pontos (...). A coluna central de minha página tem largura de 468px (a mesma largura do banner). Não posso permitir que os links das páginas com resultados (tipo "anterior, 1, 2, 3, ..., próxima") ultrapassem tal largura. E também gostaria de saber se há como controlar a quantidade dos links antes dos três pontos. E se não for abusar, gostaria de saber como é possível fazer aparecerem mais de 03 resultados por linha. Por enquanto, necessito de 03 resultados por linha, mas eu outro script poderei necessitar de mais. Esse código poderá servir a alguém. Um abraço!

paginacaoresultados.php

<? require_once("configuracao_mysql.php"); ?> <html> <head> <style> .Borda { border-color : #000000; border-style : solid; border-width : 1px; } .BordaFonte { font-family: arial; font-size: 11px; color: #000000; font-weight: bold; letter-spacing:0px; border-color : #000000; border-style : solid; border-width : 1px; } .Link {text-decoration: none; font-family: arial; font-size: 11px; color: #336699; font-weight:bold } a.Link:visited {text-decoration: none; font-family: arial; font-size: 11px; color: #336699; font-weight:bold } a.Link:active {text-decoration: none; font-family: arial; font-size: 11px; color: #336699; font-weight:bold } a.Link:hover {text-decoration: none; font-family: arial; font-size: 11px; color:#888888; font-weight:bold } </style> </head> <? $q1 = "select * from tabela where ..."; $r1 = mysql_query($q1) or die(mysql_error()); $a1 = mysql_num_rows($r1); $PaginacaoResultados .= "<body marginwidth=\"5\" marginheight=\"5\" topmargin=\"5\" bottommargin=\"5\" leftmargin=\"5\" rightmargin=\"5\">"; $total_reg = "6"; if(isset($_GET['pg'])) { $pagina = $_GET['pg']; } if (!$pagina) { $pc = "1"; } else { $pc = $pagina; } $inicio = $pc - 1; $inicio = $inicio * $total_reg; $limite = mysql_query("$q1 LIMIT $inicio,$total_reg"); $todos = mysql_query("$q1"); $tr = mysql_num_rows($todos); $tp = $tr / $total_reg; $datasize = count($dados); $bufferX = 0; $bufferY = 0; while($a1 = mysql_fetch_array($limite)) { $bufferX++; if($bufferX == 1) { $PaginacaoResultados .= "<table width=468 align=center border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td><table border=\"0\" cellpadding=\"1\" cellspacing=\"0\"><tr><td></td></tr></table></td></tr><tr><td>"; } else { $PaginacaoResultados .= "<td>"; } $PaginacaoResultados .= " <a href=\"ExibeAnuncio.php?id=$a1[id]\" style=\"text-decoration:none;cursor='hand';\"> <table width=\"154\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"BordaFonte\" onmouseover=\"this.style.background='#ffffff'\" onmouseout=\"this.style.background='#f8f8f8'; this.style.cursor='hand'; this.style.text_decoration='none'\"> <tr align=center><td align=center> <table align=center width=132 cellpadding=0 cellspacing=0> <tr><td align=center width=132>"; if(!empty($a1[foto1])) { $PaginacaoResultados .= "<img src=\"thumb4.php?img=fotos/$a1[foto1]\" border=0 class=Borda><br>"; } else { $PaginacaoResultados .= "<img src=\"sem_foto_image/sem_foto.gif\" border=0>"; } $PaginacaoResultados .= "</td> </tr> </table> </td></tr> <tr><td height=4></td></tr> <tr> <td align=center width=100%> <table width=100%><tr><td class=TextGeral align=left>&#8226; Campo:</td><td class=TextGeral align=right>$a1[campo]</td></tr></table> <table width=100%><tr><td class=TextGeral align=left>&#8226; Campo:</td><td class=TextGeral align=right>$a1[campo]</td></tr></table> <table width=100%><tr><td class=TextGeral align=left>&#8226; Campo:</td><td class=TextGeral align=right>$a1[campo]</td></tr></table> <table width=100%><tr><td class=TextGeral align=left>&#8226; Campo:</td><td class=TextGeral align=right>$a1[campo]</td></tr></table> <table width=100%><tr><td class=TextGeral align=left>&#8226; Campo:</td><td class=TextGeral align=right>$a1[campo]</td></tr></table> </td> </tr> </table></a>"; if($bufferX == 1 || $bufferX == 2) { $PaginacaoResultados .= "</td>"; } else { $PaginacaoResultados .= "</td></tr></table>"; $bufferX = 0; } } $PaginacaoResultados .= "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=2></td></tr></table>"; $PaginacaoResultados .= "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>"; //inseri (esta parte pertence a outro código) $tp = ceil($tp); if($pc>1) { $anterior = $pc - 1; $PaginacaoResultados .= "<a class=Link href=\"?pg=$anterior\">[Anterior]</a> "; } for($i=$pc-5;$i<$pc;$i++) { if($i<=0) { } else { $PaginacaoResultados .= "<a class=Link href=\"?pg=$i\">"; if($i=="$pc") { $PaginacaoResultados .= "<b>[$i]</b>"; } else { $PaginacaoResultados .= "[$i]"; } $PaginacaoResultados .= "</a> "; } } for($i=$pc;$i<=$pc+3;$i++) { if($i==$tp) { $PaginacaoResultados .= "<a class=Link href=\"?pg=$i\">"; if($i=="$pc") { $PaginacaoResultados .= "<b>[$i]</b>"; } else { $PaginacaoResultados .= "[$i]"; } $PaginacaoResultados .= "</a> "; break; } else { $PaginacaoResultados .= "<a class=Link href=\"?pg=$i\">"; if($i=="$pc") { $PaginacaoResultados .= "<b>[$i]</b>"; } else { $PaginacaoResultados .= "[$i]"; } $PaginacaoResultados .= "</a> "; if($i==$pc+5 && $tp>$pc+5) { $PaginacaoResultados .= " ... <a class=Link href=\"?pg=$tp\">[$tp]</a>"; } } } if($pc<$tp) { $proxima = $pc + 1; $PaginacaoResultados .= " <a class=Link href=\"?pg=$proxima\">[Próxima]</a>"; } $PaginacaoResultados .= "</td></tr></table>"; $PaginacaoResultados .= "<body></html>"; ?> <?=$PaginacaoResultados?>

thumb4.php

<?php require_once("configuracao_mysql.php"); // recebendo a url da imagem $filename = $_GET['img']; $percent = 0.10; // Cabeçalho que ira definir a saida da pagina header('Content-type: image/pjpeg'); //header('Content-type: image/jpeg'); // pegando as dimensoes reais da imagem, largura e altura list($width, $height) = getimagesize($filename); //setando a largura da miniatura $new_width = 132; //setando a altura da miniatura $new_height = 86; //gerando a miniatura da imagem $image_p = imagecreatetruecolor($new_width, $new_height); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); //o 3º argumento é a qualidade da imagem de 0 a 100 imagejpeg($image_p, null, 50); imagedestroy($image_p); ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17510
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Paginação de resultados - dúvida

08-03-2009 10:24

Tem uma paginação no fórum, é estilo do Google, dá para definir a quantidade de links a ser mostrado, pode ser melhor que a que está usando

http://www.codigosnaweb.com/forum/viewt ... f=33&t=943
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado