Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite, pessoal.
Estou tentando fazer um código aqui, porém agarrei quando comecei a mexer com o while, entrei num loop infinito.
Olha só como tá o código na index:
<?php
$pagina = (isset($_GET['pagina'])) ? $_GET['pagina'] : 1;
$registros = listar('carros', 'carro_id, c_titulo, c_descricao, c_montadora, c_modelo, c_ano, c_km, c_cor, c_portas, c_foto_1, c_cidades, c_ativo', 'c_ativo = 1', '', 'carro_id DESC');
$linhas = count($registros);
$adPorPagina = 12;
$numPaginas = ceil($linhas/$adPorPagina);
$inicio = ($linhas*$pagina)-$linhas;
?>
No código acima eu estou fazendo uma busca por registros em um banco de dados, e em seguida crio uma contagem pra cada registro do array, que no final acaba sendo a quantidade de posts. Abaixo vem a limitação de posts por página, seguido do calculo para número de páginas, e por fim uma variável para calcular o início da visualização com base na página atual.
A minha função listar, está dessa forma:
#Lista registros de uma tabela
function listar($tabela, $campos = "*", $onde = NULL, $filtro = NULL, $ordem = NULL, $limite = NULL){
$sql = "SELECT $campos FROM $tabela";
if($onde){
$sql .= " where $onde";
}if($filtro){
$sql .= " and $filtro";
}if($ordem){
$sql .= " ORDER BY $ordem";
}if($limite){
$sql .= " limit $limite";
}
$query = mysql_query($sql);
$total = mysql_num_rows($query);
$results = array();
while($row = mysql_fetch_array($query)) {
$results[] = $row;
}
return $results;
}
E de novo na index, crio o while para limitar a quantidade de posts por página, e em seguida um foreach para percorrer os registros.
<?php while($linhas <= $adPorPagina) { ?>
<?php foreach($registros as $registro) : ?>
<div class="col-xs-6 col-lg-4">
<h2><a href="ver.php?carro_id=<?php echo $registro['carro_id']; ?>"><?php echo $registro['c_titulo']; ?></a></h2>
<img class="thumbhall img-responsive" src="<?php echo $registro['c_foto_1']; ?>" />
<p><strong>Detalhes:</strong> <?php echo $registro['c_montadora']; ?> | <?php echo $registro['c_modelo']; ?> | <?php echo $registro['c_ano']; ?> | <?php echo $registro['c_cor']; ?> | <?php echo $registro['c_km']; ?> km | <?php echo $registro['c_portas']; ?> portas</a></p>
</div><!--/.col-xs-6.col-lg-4-->
<?php endforeach; ?>
<?php }
for($i = 1; $i < $numPaginas + 1; $i++) {
echo "<a href='paginacao.php?pagina=$i'>".$i."</a> ";
}
?>
Alguém conseguiu ver meu erro?
Um abraço.
Carregando comentários...