Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho o seguinte código que lista os dados de uma tabela fotos:
<?php $listar = $pdo->query('SELECT f.id, f.id_ga, f.titulo, f.descricao, f.miniatura, f.imagem, g.titulo as titulo_galeria from fotos f inner join galerias g on f.id_ga = g.id ORDER BY f.id');
$dados = $listar->fetchAll(PDO::FETCH_OBJ);
$params = array(
'mode' => 'Sliding',
'perPage' => 3,
'itemData' => $dados
);
$pager = & Pager::factory($params);
$data = $pager->getPageData();
$d = new ArrayIterator($data);
while ($d-> valid()):
echo "titulo: ".$d->current()->titulo;
$d->next();
endwhile;
?>
No lugar do echo "titulo: ".$d->current()->titulo; que está dentro do while preciso inserir o código:
<a href="./adm/visualizar_galeria.php?galeria_id=<?php echo $d->id_ga;?>">
<img src="./adm/imagens/<?php echo $d->miniatura;?>" class="img-polaroid" width="250" height="250" alt="foto" />
</a>
O problema é como inserir, já que está dando uma série de erros por causa das aspas.
Cesar Augusto, muito obrigado. Havia um pequeno erro no seu código que corrigi. Mas você estava certíssimo.
Apesar da paginação estar funcionando corretamente, apenas uma mensagem de erro está me atrapalhando e não estou conseguindo resolver:
Strict Standards: Non-static method Pager::factory() should not be called statically in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\malcoln\paginacao2.php on line 168
Essa é a linha do erro: $pager = & Pager::factory($params);
O código funcionando ficou assim:
<section class="container galeria">
<div class="container">
<ul class="inline">
<?php $listar = $pdo->query('SELECT f.id, f.id_ga, f.titulo, f.descricao, f.miniatura, f.imagem, g.titulo as titulo_galeria from fotos f inner join galerias g on f.id_ga = g.id ORDER BY f.id DESC');
$dados = $listar->fetchAll(PDO::FETCH_OBJ);?>
<?php
$params = array(
'mode' => 'Sliding',
'perPage' => 20,
'itemData' => $dados
);
$pager = & Pager::factory($params);
$data = $pager->getPageData();
$d = new ArrayIterator($data);
while ($d-> valid()):
?>
<li>
<div class="row">
<div class="span3">
<a href="./adm/visualizar_galeria.php?galeria_id=<?php echo $d->current()->id_ga;?>">
<img src="./adm/imagens/<?php echo $d->current()->miniatura;?>" class="img-polaroid" width="250" height="250" alt="foto" />
</a>
<h5><?php echo $d->current()->titulo;?></h5>
</div><!--span3-->
</div><!--row-->
</li>
<?php
$d->next();
endwhile;
?>
</ul>
</div>
<div class="pagination">
<?php
$links = $pager->getLinks();
echo $links['all'];
?>
</div>
Pessoal, não entendi, mas depois que coloquei online o erro desapareceu. Quem quiser ver o resultado:
http://malcolnfotografias.esy.es/
Para fazer a paginação usei essa classe:
http://pear.php.net/package/Pager/download
Tentei fazer a paginação de várias formas, mas consegui somente com essa. Foram vários dias pesquisando e consultando o fórum. Agradeço a todos pela colaboração.