Zaloguj | Zarejestruj | FAQ
Anonymous

Erro em script de paginação

+ Odpowiedz

Posty: 2 Strona 1 z 1


Erro em script de paginação

przez Alexandrephp » Pn cze 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...

Kod: Zaznacz cały
<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>
Avatar użytkownika

Alexandrephp

  • Posty: 1
  • Dołączył(a): Pn cze 03, 2013 6:34 pm

Re: Erro em script de paginação

przez XainPro » Wt cze 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);
Avatar użytkownika

XainPro

  • Posty: 3933
  • Dołączył(a): Pt lut 17, 2012 8:10 pm


+ Odpowiedz

Strona 1 z 1