登录 | 注册 | FAQ
Anonymous

Erro em script de paginação

+ 发表回复

2 篇帖子 分页: 1 / 1


Erro em script de paginação

Alexandrephp » 周一 6月 03, 2013 6:40 pm

Boa tarde amigos!

Estou com um problema em um script de paginação onde o mesmo me retorna o seguinte:
O PDO faz a conexão e o select na primeira parte e na parte do paginator (div paginator)

"primeira página" "1" "ultima página"

Mas não faz mais nada... o numero 1 não aparece como um link... e se eu trocar o limite de exibição de anuncios por página aparece certinho a quantidade estabelecida, mas não cria os links para as demais paginas... fica sempre "primeira página" "1" "ultima página". Tenho 12 anuncios cadastrados e ele só mostra os 5 e nunca cria links para outras páginas com o restante dos anuncios...

Procurei pelo fórum e não encontrei nada parecido com isto, portanto se aqui não for o lugar correto para postar, peço desculpas aos moderadores!

Sou beeeem "verde" em PHP por isso estou tendo estas dificuldades... serei muito grato se alguém puder me ajudar.

OBS... Uso este mesmo script em uma outra página que faz paginação de e-mails e funciona direitinho... fiz igual para esta pagina só que não vai!!!

Vejam o código...

代码: 全选
<h1>Anúncios</h1>
<?php include "Connections/config.php";

  $pag = "$_GET[pag]";
  if($pag >= '1'){
  $pag = $pag;
  }else{
  $pag = '1';
  }
  $maximo = '5'; //RESULTADOS POR PÁGINA
  $inicio = ($pag * $maximo) - $maximo;

  $dataVal = date('Y-m-d H:m:s');
  $AnuncioStatus = 'completo';

  $sql = 'SELECT * FROM camp_anuncio WHERE AnuncioStatus = :AnuncioStatus AND DtTerminoEm >= :dataVal ORDER BY
  DtCriadoEm DESC LIMIT '.$inicio.','.$maximo;
try{
        $query = $conecta->prepare($sql);
$query->bindValue(':AnuncioStatus',$AnuncioStatus,PDO::PARAM_STR);
$query->bindValue(':dataVal',$dataVal,PDO::PARAM_STR);
$query->execute();
 
   $resultado = $query->fetchAll(PDO::FETCH_ASSOC);
   $count = $query->rowCount(PDO::FETCH_ASSOC);
 
   }catch(PDOexception $error_anuncio){
   echo 'Erro ao selecionar anuncios! '.$error_anuncio->getMessage();
   }
 
   foreach($resultado as $res){
         $anId           = $res['anuncioId'];
  $userId          = $res['UsuarioId'];
  $userNivel    = $res['UsuarioNivel'];
  $anTitulo      = $res['AnuncioTitulo'];
  $criadoEm      = $res['DtCriadoEm'];
  $anPlano        = $res['Plano'];
  $terminoEm    = $res['DtTerminoEm'];
  $anStatus      = $res['AnuncioStatus'];
  $anDescricao  = $res['AnuncioDescricao'];
  $anBeneficio  = $res['AnuncioBeneficio'];
  $anVisitas    = $res['AnuncioVisitas'];
  $anThumbExib  = $res['ImgThumbExibicao'];
  $anSeg                = $res['Segmento'];
  $anPais          = $res['anuncioPais'];
  $anEstado      = $res['anuncioEstado'];
  $anRegiao      = $res['anuncioRegiao'];
  $anCidade      = $res['anuncioCidade'];
  $anBairro      = $res['anuncioBairro'];
  $anCep                = $res['anuncioCep'];
  $anLograd      = $res['anuncioLogradouro'];
  $anEndereco   = $res['anuncioEndereco'];
  $anNumero      = $res['anuncioNumero'];
  $anReferencia = $res['anuncioPtReferencia'];
  $anTelA          = $res['anuncioTelA'];
  $anTelB          = $res['AnuncioTelB'];
  $anCel                = $res['AnuncioCel'];
  $anEmailA      = $res['AnuncioEmailA'];
  $anEmailB      = $res['AnuncioEmailB'];
  $anSite          = $res['AnuncioSite'];
 
echo'<div id="anuncio">';
echo'<div class="left">';
echo'<li><h1>'.$anTitulo.'</h1></li>';
echo'<li><a href="index.php?pg=single.php&anuncio='.$anId.'"><img src="timthumb.php?src=midias/'.$anThumbExib.'&h=130&w=200&zc=1" alt="'.$anTitulo.'" title="'.$anTitulo.'" border="0" /></a></li>';
echo'</div>';
echo'<div class="right">';
echo'<li><h2>Informação</h2></li>';
echo'<li><h3>Segmento: '.$anSeg.'</h3></li>';
echo'<li><h3>'.$anLograd.'.: '.$anEndereco.' n°'.$anNumero.' '.$anBairro.'</h3></li>';
echo'<li><h3>Tel: '.$anTelA.' / '.$anTelB.'<h3></li>';
echo'<li><h3><strong>Beneficio:</strong> '.$anBeneficio.'</h3></li>';
echo'<li><h3>Site: <a href="http://'.$anSite.'" alt="Visite o site do anunciante" target="blank">'.$anSite.'</a></h3></li>';
echo'</div>';
echo'</div>';
}
?>
<?php
if($count == '0'){
          echo '<div class="no">Sem Anúncios no momento!</div>';
}else{
?>
<?php
}
?>
<div id="paginator">
<?php
include"Connections/config.php";
$dataVal = date('Y-m-d H:m:s');
$AnuncioStatus = 'completo';
$sql_res = 'SELECT * FROM camp_anuncio WHERE AnuncioStatus = :AnuncioStatus AND DtTerminoEm >= :dataVal ORDER BY DtCriadoEm DESC' OR DIE(mysql_error());
try{
        $query_res = $conecta->prepare($sql_res);
$query_res->bindValue(':AnuncioStatus',$AnuncioStatus,PDO::PARAM_STR);
$query_res->bindValue(':dataVal',$dataVal,PDO::PARAM_STR);
$query_res->execute();
$total = $sql_res;
}catch(PDOexception $error_paginator){
   echo 'Erro ao selecionar paginas! '.$error_paginator->getMessage();
   }

$paginas = ceil($total/$maximo);
$links = '4'; //QUANTIDADE DE LINKS NO PAGINATOR
echo "<a href=\"index.php?pg=categoria.php&amp;pag=1\">Primeira Página</a>&nbsp;&nbsp;";
for ($i = $pag-$links; $i <= $pag-1; $i++){
if ($i <= 0){
}else{
echo"<a href=\"index.php?pg=categoria.php&amp;pag=$i\">$i</a>&nbsp;&nbsp;";
}
}echo "$pag &nbsp;&nbsp";
for($i = $pag +1; $i <= $pag+$links; $i++){
if($i > $paginas){
}else{
echo "<a href=\"index.php?pg=categoria.php&amp;pag=$i\">$i</a>&nbsp;&nbsp";
}
}
echo "<a href=\"index.php?pg=categoria.php&amp;pag=$paginas\">Última Página</a>&nbsp;&nbsp";
?>
</div>
头像

Alexandrephp

  • 帖子: 1
  • 注册: 周一 6月 03, 2013 6:34 pm

Re: Erro em script de paginação

XainPro » 周二 6月 04, 2013 7:55 am

eu acho que há algum problema nesta parte
<?php
include"Connections/config.php";
$dataVal = date('Y-m-d H:m:s');
$AnuncioStatus = 'completo';
$sql_res = 'SELECT * FROM camp_anuncio WHERE AnuncioStatus = :AnuncioStatus AND DtTerminoEm >= :dataVal ORDER BY DtCriadoEm DESC' OR DIE(mysql_error());
try{
$query_res = $conecta->prepare($sql_res);
$query_res->bindValue(':AnuncioStatus',$AnuncioStatus,PDO::PARAM_STR);
$query_res->bindValue(':dataVal',$dataVal,PDO::PARAM_STR);
$query_res->execute();
$total = $sql_res;
}catch(PDOexception $error_paginator){
echo 'Erro ao selecionar paginas! '.$error_paginator->getMessage();
}

$paginas = ceil($total/$maximo);
$links = '4'; //QUANTIDADE DE LINKS NO PAGINATOR
echo "<a href=\"index.php?pg=categoria.php&amp;pag=1\">Primeira Página</a>&nbsp;&nbsp;";
for ($i = $pag-$links; $i <= $pag-1; $i++){
if ($i <= 0){
}else{
echo"<a href=\"index.php?pg=categoria.php&amp;pag=$i\">$i</a>&nbsp;&nbsp;";
}
}echo "$pag &nbsp;&nbsp";
for($i = $pag +1; $i <= $pag+$links; $i++){
if($i > $paginas){
}else{
echo "<a href=\"index.php?pg=categoria.php&amp;pag=$i\">$i</a>&nbsp;&nbsp";
}
}
echo "<a href=\"index.php?pg=categoria.php&amp;pag=$paginas\">Última Página</a>&nbsp;&nbsp";
?>

tentar corrigir sua consulta paginação
aqui está um exemplo de consulta paginação

if( isset($_GET{'page'} ) )
{
$page = $_GET{'page'} + 1;
$offset = $rec_limit * $page ;
}
else
{
$page = 0;
$offset = 0;
}
$left_rec = $rec_count - ($page * $rec_limit);

$sql = "SELECT emp_id, emp_name, emp_salary ".
"FROM employee ".
"LIMIT $offset, $rec_limit";

$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "EMP ID :{$row['emp_id']} <br> ".
"EMP NAME : {$row['emp_name']} <br> ".
"EMP SALARY : {$row['emp_salary']} <br> ".
"--------------------------------<br>";
}

if( $page > 0 )
{
$last = $page - 2;
echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a> |";
echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";
}
else if( $page == 0 )
{
echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";
}
else if( $left_rec < $rec_limit )
{
$last = $page - 2;
echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a>";
}
mysql_close($conn);
头像

XainPro

  • 帖子: 3933
  • 注册: 周五 2月 17, 2012 8:10 pm


+ 发表回复

分页: 1 / 1