Jump to content


Photo

Paginação Em Mural De Recados


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 Plunder

Plunder

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino
  • Interesses:Aprender

Posted 06/07/2010, 21:42

Boa noite amigos,


Arranjei um sistema de mural simples. Ele tem paginação, que posso limitar (digamos 10 por página), mas os números vão aparecendo em uma linha horizontal infinitamente "alargando" a página.
Fiz um monte de pesquisas sobre paginação, tentei mudar mas não consegui.

Eis o código inteiro:

<?

$pg1=$_GET[pg1];
$page1=$_GET[page1];


$busca = "SELECT * FROM mural WHERE id_franquia='$cidade' AND status='S' order by id desc";
// termina a função para buscar a categoria

$total_reg = "11";

if(!$page1){
$page1 = "1";
}

$inicio = $page1-1;
$inicio = $inicio*$total_reg;

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

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

if(mysql_num_rows($todos)>0){
 //  if (($todos%2)==0) { $bgcolor="#FFFFFF"; } else { $bgcolor="#C0C0C0"; }
?>
<style type="text/css">
<!--
.style11 {
	color: #FFFFFF;
	font-weight: bold;
}
-->
</style>
<table align="center" width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
 <td align="center" width="100%" valign="top"><div align="center">
 <table align="center" width="720" height="100%" border="0" cellpadding="3" cellspacing="0">
 <tr>
 <td colspan="3" align="center" valign="top">
<table align="center" width="100%" cellpadding="0" cellspacing="0">
<tr><td height="1" colspan="5"></td></tr>
  <TR>
    <TD align="right">Recados: <strong><? echo "<b><font color=$coronmouse>$tr</font></b>";?></strong>
</TD>
  </TR>
<tr><td height="1" colspan="3"></td></tr>
</table>


<table align="center" width="100%" border=0 cellpadding=2 cellspacing=0>
<? while ($dados=mysql_fetch_array($limite)) {?>

         <tr align="center" bgcolor="#FFFFFF">

            <td colspan="3" align="left">
            <font size="2" color="#000000">De:</font> <b><font size="2" color="red"><? echo $dados[de]?></font></b>
            <font size="2" color="#000000">Para:</font> <b><font size="2" color="red"><? echo $dados[para]?></font></b>
            <fieldset><legend><span class="legenda"><font color="#000000">Mensagem:</font></span></legend>
            <font size="2" color="#000000"><?
$msg2 = $dados["mensagem"];
$str = split(" ",$msg2);
$msg = "";
for ($i=0;$i<count($str);$i++)
{
  $tam = strlen($str[$i]);
  //echo "<br><Br>Palavra $str[$i]<Br>Tam <b>$tam</b><br><br>";
  $ini = 0;
  if ($tam>25)
  {
    $espacos = intval(strlen($str[$i]) / 25);
    //echo "<br>Inserir $espacos espacos na palavra";
    for ($y=0;$y<$espacos;$y++)
    {
      $ini = $y*25;
      $fim = 25;
      $esp = substr($str[$i],$ini,$fim) ." &nbsp;";
      //echo "<Br>Inserindo espaco $y ($ini,$fim) [$esp]";
      $msg .= $esp;
      $ini = ($y+1)*25;
    }
  }
  $esp = substr($str[$i],$ini,strlen($str[$i])) ." ";
  //echo "<Br>Inserindo restante $esp";
  $msg .= $esp;
}
echo nl2br($msg);
?></font>
</fieldset>
            </td>
        </tr>
		<tr>
    <td colspan="4"><div align="right">
		  <i>Data:
          <?
		  $var = $dados['data'];
		  $var = explode(" ",$var);
		  $dia = $var[0];
		  $hora = $var[1];
		  $dia = explode("-",$dia);
		  $data = "$dia[2]/$dia[1]/$dia[0] &agrave;s $hora";
echo "$data";
		  ?>
    </i></div></td>
	    </tr>
<? }?>

  <tr><TD>

<table border="0" align="center" cellpadding="0" cellspacing="0">
  <TR>
          <TD width="100" align="right" valign="top">
            <?
if($page > 1){
$anterior = $page -1;
$url = "?pg=$pg&page=$anterior";
echo "<a href='$url'>« Anterior</a>&nbsp;|";
} else {
echo "<font color='white'>« Anterior</font>&nbsp;|";
}
?>
</TD>
    <TD align="center">
      <?
for($x=1; $x<=$tp; $x++){
$url = "?pg=$pg&page=$x";
  if ($x==$page) {
  echo "<font color='red'><b>$x</b></font>|";
  } else {
  echo "<a href='$url'>$x</a>|";
  }
}
?>
</TD>
          <TD width="100" align="left" valign="top">
            <?
if($tp > $page){
$proxima = $page +1;
$url = "?pg=$pg&page=$proxima";
echo "&nbsp;<a href='$url'>Próxima »</a>";
} else {
echo "&nbsp;<font color='white'>Próxima »</font>";
}
?>
</TD>
  </TR>
</table>

</TD></tr>
</table>
 </td>
 </tr>
 </table>
 </div></td>
 </tr>
</table>
<? } else {?>

<table width="338" cellpadding="0" cellspacing="0">
  <TR>
    <TD align="center" valign="bottom">

      <br>
      Desculpe-nos, no momento não temos nenhum Recado<br>
      cadastrado em nosso banco de dados!<br>
      <br>      </td>
  </tr>
</table>

<table width="338" cellpadding="0" cellspacing="0">
  <TR>
    <TD align="center" valign="bottom">
<a href="?pg=principal">
<h3>Deixe seu Recado!</h3>
</a>
    </td>
  </tr>
</table>

<? } ?>

Aqui a parte inicial do código:

<?

$pg1=$_GET[pg1];
$page1=$_GET[page1];


$busca = "SELECT * FROM mural WHERE id_franquia='$cidade' AND status='S' order by id desc";
// termina a função para buscar a categoria

$total_reg = "11";

if(!$page1){
$page1 = "1";
}

$inicio = $page1-1;
$inicio = $inicio*$total_reg;

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

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

if(mysql_num_rows($todos)>0){
 //  if (($todos%2)==0) { $bgcolor="#FFFFFF"; } else { $bgcolor="#C0C0C0"; }
?>

Aqui onde pagina:

            <?
if($page > 1){
$anterior = $page -1;
$url = "?pg=$pg&page=$anterior";
echo "<a href='$url'>« Anterior</a>&nbsp;|";
} else {
echo "<font color='white'>« Anterior</font>&nbsp;|";
}
?>

      <?
for($x=1; $x<=$tp; $x++){
$url = "?pg=$pg&page=$x";
  if ($x==$page) {
  echo "<font color='red'><b>$x</b></font>|";
  } else {
  echo "<a href='$url'>$x</a>|";
  }
}
?>

            <?
if($tp > $page){
$proxima = $page +1;
$url = "?pg=$pg&page=$proxima";
echo "&nbsp;<a href='$url'>Próxima »</a>";
} else {
echo "&nbsp;<font color='white'>Próxima »</font>";
}
?>




Tem como fazer alguma modificação dentro desse código para paginar corretamente?




1 user(s) are reading this topic

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

IPB Skin By Virteq