Ir para conteúdo
Fórum Script Brasil
  • 0

Erro em paginação


neo

Pergunta

Galera estou com esta paginação de resultados e a mesma esta com problemas na hora q informo q e somente 10 registros por pag, se tiver mais ela coloca as numerações de pag mas não tem nenhum registro pois estao todos na 1 pag, segue abaixo o cod q estou usando.

<?
 @include ("abrebanco.php");
 @include ("config.php");
?>
<?
$result_pag = 10;

 if($pagina==""){
   $pag_atual = 1;
 }else{
   $pag_atual = $pagina;
 }

$info = $id_categoria;

$sql_usados = "select * from anuncios where id_categoria='$info'";
$carros = mysql_query($sql_usados);
$pagesize = $result_pag;
$cachesize = $result_pag;
$carros = mysql_query($sql_usados);

$total = mysql_num_rows($carros);
$pagecount = $total/$result_pag;

$conta_pag = round($pagecount);

if($pag_atual > $conta_pag){
$pag_atual = $conta_pag;
}

?>

<td valign="top"><!-- INÍCIO DA COLUNA MENU VEÍCULOS -->
          <table width="422" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><img src="_img/title_destaques.png" alt="Produtos em Destaque" width="422" height="56" /></td>
            </tr>
            <tr>
              <td align="center" bgcolor="#FFE3B8">
              <?
if($pag_atual< 1){
$pag_atual = 1;
}
if($total == "0"){
  echo "<center>Nenhum resultado encontrado!</center>";
}else{
  $absolutepage = $pag_atual;
}
      ?>
      <table width="409" border="0" cellspacing="0" cellpadding="0">
              <tr> 
                <td width="100"> 
                  <?=$fonte01?>
                  página 
                  <?=$pag_atual?>
                  de 
                  <?=$conta_pag?>
                </td>
                <td width="309" align="right"><?=$fonte01?>
                <?
                // anterior
                if($pag_atual>1){
                ?>
                <a href="carros_usados.php?pagina=<?=$pag_atual - 1?>">[&lt;&lt;]</a>
                <?
                }
                
                // numeros
                for ($I = 1; $I <=$conta_pag; $I ++) {
                if ($I == $pag_atual) {
                echo $I;
                }else{
                ?>
                <a href="carros_usados.php?pagina=<?=$I?>"><?=$I?></a>
                <?
                }
                }
                
                // proximo
                if($pag_atual<$conta_pag){
                ?>
                <a href="carros_usados.php?pagina=<?=$pag_atual + 1?>">[&gt;&gt;]</a>
                <?
                }
                ?>
                </td>
              </tr>
            </table>
      <br>
      <table width="410" border="0" cellspacing="0" cellpadding="0">
        <tr bgcolor="#0066CC"> 
          <td width="95" align="center"> 
            <?=$fonte03?>
            Marca</font></td>
          <td width="97" align="center"> 
            <?=$fonte03?>
            Modelo</font></td>
          <td width="88" align="center"> 
            <?=$fonte03?>
            Pre&ccedil;o</font></td>
          <td width="64" align="center"> 
            <?=$fonte03?>
            Foto</font></td>
          <td width="66" align="center"> 
            <?=$fonte03?>
            &nbsp;</font></td>
        </tr>
<?
            $result_exibidos = 0; 
  while($row = mysql_fetch_array($carros,MYSQL_ASSOC)){
    if ($td_cor=="1"){
      $td="<td align=center bgcolor=#DBDBDB";
$td_mais = "<td align='center' bgcolor='#DBDBDB' width='50'>";
      $td_cor="0";
    }else{
      $td="<td align=center bgcolor=#EDEDED";
$td_mais = "<td align='center' bgcolor='#EDEDED' width='50'>";
      $td_cor="1";
    } 
            $sql_marca = "select * from marcas where id='$row[marca]'";
            $marca =mysql_query($sql_marca);

            $sql_modelo = "select * from modelos where id='$row[modelo]'";
            $modelo = mysql_query($sql_modelo);
            
          echo "<tr height='20'>";
          echo $td .">". $fonte01 . mysql_result($marca,0,"marca") . "</font></td>";
          echo $td .">". $fonte01 . mysql_result($modelo,0,"modelo") . "</font></td>";
          echo $td .">". $fonte01 .$row[preço]. "</font></td>";
          if ($row[foto]!=""){
          echo $td . "> <img src='_img/icon_foto_sim.gif'></td>";
          }else{
          echo $td . "> <img src='_img/icon_foto_nao.gif'></td>";
          }
          echo $td_mais . $fonte01 . "<a href='mais.php?numero=".$row[id_anuncio]."' class=cordolink>mais info</a></font></td>";
          echo "</tr>";
          $result_exibidos = result_exibidos + 1;
          }
        ?>
      </table>
      <br>
      <table width="413" border="0" cellspacing="0" cellpadding="0">
              <tr> 
                <td width="100"> 
                  <?=$fonte01?>
                  página 
                  <?=$pag_atual?>
                  de 
                  <?=$conta_pag?>
                </td>
                <td width="313" align="right"><?=$fonte01?>
                <?
                // anterior
                if($pag_atual>1){
                ?>
                <a href="carros_usados.php?pagina=<?=$pag_atual - 1?>">[&lt;&lt;]</a>
                <?
                }
                
                // numeros
                for ($I = 1; $I <=$conta_pag; $I ++) {
                if ($I == $pag_atual) {
                echo $I;
                }else{
                ?>
                <a href="carros_usados.php?pagina=<?=$I?>"><?=$I?></a>
                <?
                }
                }
                
                // proximo
                if($pag_atual<$conta_pag){
                ?>
                <a href="carros_usados.php?pagina=<?=$pag_atual + 1?>">[&gt;&gt;]</a>
                <?
                }
                ?>
                </td>
              </tr>
            </table></td>
            </tr>
            <tr>
              <td valign="top"><img src="_img/curve_destaques.gif" width="422" height="7" /></td>
            </tr>
          </table>
          <div><img src="_img/spacer.gif" width="100" height="5" /></div>
                <div><img src="_img/spacer.gif" width="100" height="5" /></div>
          <table width="422" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><img src="_img/upload/banner_empresa.gif" alt="Saiba mais sobre a Negócios A+" width="208" height="57" /></td>
              <td width="5"><img src="_img/spacer.gif" width="5" height="40" /></td>
              <td><img src="_img/upload/banner_produto.gif" alt="Produto anunciado é produto vendido!" width="208" height="57" /></td>
            </tr>
          </table>
          <div><img src="_img/spacer.gif" width="100" height="7" /></div>
          <table width="422" border="0" cellspacing="0" cellpadding="0" class="pub_bottom">
            <tr>
              <td height="8" style="border:none" align="left"><img src="_img/n_publicidade_2.gif" alt="Publicidade" width="64" height="8" /></td>
            </tr>
            <tr>
              <td height="120">&nbsp;</td>
            </tr>
          </table></td>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Leia as regras, nada de UP...

O que código que você passou tem um problema básico, em nenhum lugar tem a cláusula LIMIT, ela é básica para um sistema de paginação, pois a partir da LIMIT se define quando resultados serão exibidos por página e onde começará a ser pego... ou seja, ou você esqueceu de copiar/colar alguma coisa, ou o seu código simplesmente não tem a lógica para o funcionamento...

Link para o comentário
Compartilhar em outros sites

  • 0

Cara tentei dar uma analisada no seu código, mas não obtive muito sucesso não...

Vou postar uma funçãozinha de paginação que tenho aqui, se servir p/ você, beleza.

function criaPaginacao($SQL = ""){
    // Verifica a SQL
    if ( trim($SQL) == "" ){
        exit;
    }
    //Verifica a página atual
    if( isset($_REQUEST['pagina']) ){
        $paginaAtual = $_REQUEST['pagina'];
    }else{
        $paginaAtual = 0;
    }

    // Faz a consulta para ver a quantidade de registros no banco
    $stringSQL = mysql_query($SQL);
    $Linhas = mysql_num_rows($stringSQL);
    
    
    $html  = "<table width=\"500\" align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"textoPadrao\">\n";
    $html .= "<tr>";
    $html .= "<td align=\"center\">";
    if ($Linhas == 1){
        $html .= "&nbsp;";
    }else{
        $p =1;
        for($i=0; $i < $Linhas; $i+=50){
            if($paginaAtual == $i){
                $html .= " - <span style=\"font-size:14px\">$p</span>";
            }else{
                if(isset($_SERVER['QUERY_STRING'])){
                    $query = $_SERVER['QUERY_STRING'] ."&";
                }else{
                    $query ="";    
                }
                $html .=" - <a href=\"?".$query."pagina=$i\">$p</a>";
            }
            $html .=" - ";
            $p++;
        }
    }
    $html .="</td>";
    $html .="</tr>";
    $html .="</table>";
    
    echo($html);
}

você chama ela assim: <? criaPaginacao("SELECT * FROM TABELA") ?> (coloca onde quiser que seja exibida a paginação...

é uma funçao simples, mas que nunca me deu dor de cabeça.. Ve se serve p/ algo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...