Jump to content


Photo

Paginação Com Colunas


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

#1 hal

hal

    Doutor

  • Usuários
  • 842 posts
  • Sexo:Masculino

Posted 11/01/2007, 12:34

Galera, tudo tranquilo??
então, eu to com uma dúvida, pois eu quero colocar esse mesmo esquema de paginação, porem, com duas colunas, ao invés de uma....
como eu modifico isso, de modo que eu coloque duas colunas???
valeu a força, galera!!!
grande abraço a todos!!
Hal

<?php

$total_reg = "2";
?>
<?php
if (!$pagina) {
$pc = "1";
} else {
$pc = $pagina;
}
?>
<?php
$inicio = $pc - 1;
$inicio = $inicio * $total_reg;
?>
<?php
//$cat="$categoria";
$busca = "select * from tabela order by codigo desc";

$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
$todos = mysql_query("$busca");

$tr = mysql_num_rows($todos);
$tp = $tr / $total_reg;


while ($dados = mysql_fetch_array($limite)) {
$codigo = $dados["codigo"];
//$coment=$dados["coment"];
$imagem = $dados ["imagem"];
$texto = $dados ["texto"];
$link = $dados ["link"];




echo "
<center>
<table width=547 border'0'>
<tr>
<td>


<center>

<img src='foto/$imagem' height='100'> </td>

<tr> <td><center>$texto</td> </tr>
<tr><td><center>$link</td></tr>

</tr>
<tr>







</tr>
</table>";

}


$anterior = $pc -1;
$proximo = $pc +1;
if ($pc>1) {
echo "


<a href='?pagina=$anterior'> anterior</a>

";
}

if ($pc<$tp) {
echo " <a href='?pagina=$proximo'>próximo</a>";
}
mysql_close ($db)
?>

#2 PHP-man

PHP-man

    12 Horas

  • Usuários
  • 257 posts
  • Sexo:Masculino

Posted 11/01/2007, 13:35

Olá hal como vai?

Olha eu utilizo este script e funciona perfeitamente.

Está prontinho é só adaptar para seu uso!

//Código para exibir colunas
<?
$num_por_pagina = 8;
if (!$pagina) {
$pagina = 1;
}
$primeiro_registro = ($pagina*$num_por_pagina) - $num_por_pagina;

$busca = mysql_query("SELECT * FROM papeisdeparede LIMIT $primeiro_registro, $num_por_pagina") or die(mysql_error());
$colunas = 2;
$cont = 1;
$registros = mysql_num_rows($busca);
if($registros%$colunas==0) $linhas = $registros/$colunas;
else $linhas = intval($registros/$colunas) + 1;
$larguracoluna = intval(100 / $colunas);
echo "<table width='100%'>";
while ($col = mysql_fetch_array($busca)) {
$id=$col['id'];
$categoria=$col['categoria'];
$img1th=$col['img1th'];
$img1=$col['img1'];
$img2=$col['img2'];
if ($cont==1) {
echo"<tr>";
}
echo"<td width='50%' align='center' class='texto_preto'>";
echo"<img src='papeisdeparede/imagens/fotos/$categoria/$img1th' width='168' height='126' border='1' /></a><br><br><a href='?link=papeisdeparede/pagina.php&cat=$categoria&id=$id&imagem=800x600' class='link_vermelho'>800x600</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='?link=papeisdeparede/pagina.php&cat=$categoria&id=$id&imagem=1024x768' class='link_vermelho'>1024x768</a>";
echo"<br><br></td>";
if ($cont==$colunas) {
echo"</tr>";
$cont=0;
}
$cont=$cont+1;
}
if (!$cont==$colunas) {
echo"</tr></table>";
} else {
echo"</table>";
}
?>


//Código para paginação
<?
$sql2 = "SELECT COUNT(*) FROM papeisdeparede";
list($total_usuarios) = mysql_fetch_array(mysql_query($sql2));
$total_paginas = $total_usuarios/$num_por_pagina;
$prev = $pagina - 1;
$next = $pagina + 1;
// se p&aacute;gina maior que 1 (um), ent&atilde;o temos link para a p&aacute;gina anterior
if ($pagina > 1) {
$prev_link = "<a href=\"?link=papeisdeparede/papeisdeparede.php&pagina=$prev\" class='link_azul'>Anterior</a>";
} else { // sen&atilde;o n&atilde;o h&aacute; link para a p&aacute;gina anterior
$prev_link = "Anterior";
}
// se n&uacute;mero total de p&aacute;ginas for maior que a p&aacute;gina corrente, ent&atilde;o temos link para a pr&oacute;xima p&aacute;gina
if ($total_paginas > $pagina) {
$next_link = "<a href=\"?link=papeisdeparede/papeisdeparede.php&pagina=$next\" class='link_azul'>Pr&oacute;xima";
} else { // sen&atilde;o n&atilde;o h&aacute; link para a pr&oacute;xima p&aacute;gina
$next_link = "Pr&oacute;xima";
}
// vamos arredondar para o alto o n&uacute;mero de p&aacute;ginas que ser&atilde;o necess&aacute;rias para exibir todos os registros. Por exemplo, se temos 20 registros e mostramos 6 por p&aacute;gina, nossa vari&aacute;vel $total_paginas ser&aacute; igual a 20/6, que resultar&aacute; em 3.33. Para exibir os 2 registros restantes dos 18 mostrados nas primeiras 3 p&aacute;ginas (0.33), ser&aacute; necess&aacute;ria a quarta p&aacute;gina. Logo, sempre devemos arredondar uma fra&ccedil;&atilde;o de n&uacute;mero real para um inteiro de cima e isto &eacute; feito com a fun&ccedil;&atilde;o ceil().
$total_paginas = ceil($total_paginas);
$painel = "";
for ($x=1; $x<=$total_paginas; $x++) {
if ($x==$pagina) { // se estivermos na p&aacute;gina corrente, n&atilde;o exibir o link para visualiza&ccedil;&atilde;o desta p&aacute;gina
$painel .= " [$x] ";
} else {
$painel .= " <a href=\"?link=papeisdeparede/papeisdeparede.php&pagina=$x\" class='link_azul'>$x</a>";
}
}
echo "$prev_link | $painel | $next_link";
?>

Espero que sirva

PHP-man
Existe uma grande diferença entre a Sabedoria e a Inteligência. A Inteligência vem acompanhada de Arrogância e Irônias. A Sabedoria vem acompanhada de Humildade e Paciência. by PHP-man

#3 hal

hal

    Doutor

  • Usuários
  • 842 posts
  • Sexo:Masculino

Posted 11/01/2007, 14:23

poxa, PHP-man

muito legal esse script, e eu configurei ele, ficou muito show!!!
cara, brigadão mesmo pela força, ok??
é por isso que eu digo que esse fórum é nota 100000000000!!!!!
novamente, muito obrigado, mesmo, viu!!!!

(y)

#4 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 11/01/2007, 14:41

Só complementando:

http://forum.wmonlin...howtopic=151558
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image




0 user(s) are reading this topic

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

IPB Skin By Virteq