Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, já baixei o bootstrap e apliquei no meu código PHP porém estou com uma dificuldade para aplicar CLASS na paginação.
PHP:
echo "<a href='paginacao.php?page=$i'> $i </a> "
CLASS (bootstrap)
-
<div class="pagination pagination-centered">
Veja se ajuda - https://github.com/onassar/PHP-Pagination
Eu faço isso aqui
<?php
if (!isset($_GET['pg'])) {
$pg = 1;
} else {
$pg = $_GET['pg'];
}
$total_reg = "20";
$inicio = $pg -1;
$inicio = $inicio * $total_reg;
$sql_todos = "SELECT * FROM tabela ORDER BY MARCA ASC";
$sql = "SELECT * FROM tabela ORDER BY MARCA ASC LIMIT $inicio, $total_reg";
$rs_todos = $pdo->query($sql_todos)->fetchAll();
$total_registros = count($rs_todos); // verifica o número total de registros
$total_paginas = ceil($total_registros / $total_reg); // verifica o número total de páginas
$rs = $pdo->query($sql)->fetchAll();
$anterior = $pg -1;
$proximo = $pg +1;
require("paginacao.php");
?>
paginacao.php
<?php
if ($total_paginas > 1) {
echo "<nav>";
echo " <ul class='pagination pagination-sm'>";
if ($anterior > 0) {
echo "<li>";
echo " <a href='?pg=".$anterior."' aria-label='Previous'>";
echo " <span aria-hidden='true'>«</span>";
echo " </a>";
echo "</li>";
} else {
echo "<li class='disabled'>";
echo " <span aria-hidden='true'>«</span>";
echo "</li>";
}
for ($i=1;$i<=$total_paginas;$i++) {
if ($i < ($pg-4) AND $i == 1) {
echo "<li><a href='?pg=".$i."'>".$i."</a></li>";
echo "<li><a>...</a></li>";
}
if ($i >= ($pg-4) AND $i <= ($pg+4)) {
if ($i == $pg) {
echo "<li class='active'><a href='?pg=".$i."'>".$i."</a></li>";
} else {
echo "<li><a href='?pg=".$i."'>".$i."</a></li>";
}
}
if ($i > ($pg+4) AND $i == $total_paginas) {
echo "<li><a>...</a></li>";
echo "<li><a href='?pg=".$i."'>".$i."</a></li>";
}
}
if($pg < $total_paginas) {
echo "<li>";
echo " <a href='?pg=".$proximo."' aria-label='Next'>";
echo " <span aria-hidden='true'>»</span>";
echo " </a>";
echo "</li>";
} else {
echo "<li class='disabled'>";
echo " <span aria-hidden='true'>»</span>";
echo "</li>";
}
echo " </ul>";
echo "</nav>";
}
?>
Na paginacao.php akeles $pg-4 e $pg+4 servem para ele não mostrar todos os números quando for muitas páginas.. ele limita em mostrar apenas 4 antes e 4 depois..
>
Eu faço isso aqui
<?php
if (!isset($_GET['pg'])) {
$pg = 1;
} else {
$pg = $_GET['pg'];
}
$total_reg = "20";
$inicio = $pg -1;
$inicio = $inicio * $total_reg;
$sql_todos = "SELECT * FROM tabela ORDER BY MARCA ASC";
$sql = "SELECT * FROM tabela ORDER BY MARCA ASC LIMIT $inicio, $total_reg";
$rs_todos = $pdo->query($sql_todos)->fetchAll();
$total_registros = count($rs_todos); // verifica o número total de registros
$total_paginas = ceil($total_registros / $total_reg); // verifica o número total de páginas
$rs = $pdo->query($sql)->fetchAll();
$anterior = $pg -1;
$proximo = $pg +1;
require("paginacao.php");
?>
paginacao.php
<?php
if ($total_paginas > 1) {
echo "<nav>";
echo " <ul class='pagination pagination-sm'>";
if ($anterior > 0) {
echo "<li>";
echo " <a href='?pg=".$anterior."' aria-label='Previous'>";
echo " <span aria-hidden='true'>«</span>";
echo " </a>";
echo "</li>";
} else {
echo "<li class='disabled'>";
echo " <span aria-hidden='true'>«</span>";
echo "</li>";
}
for ($i=1;$i<=$total_paginas;$i++) {
if ($i < ($pg-4) AND $i == 1) {
echo "<li><a href='?pg=".$i."'>".$i."</a></li>";
echo "<li><a>...</a></li>";
}
if ($i >= ($pg-4) AND $i <= ($pg+4)) {
if ($i == $pg) {
echo "<li class='active'><a href='?pg=".$i."'>".$i."</a></li>";
} else {
echo "<li><a href='?pg=".$i."'>".$i."</a></li>";
}
}
if ($i > ($pg+4) AND $i == $total_paginas) {
echo "<li><a>...</a></li>";
echo "<li><a href='?pg=".$i."'>".$i."</a></li>";
}
}
if($pg < $total_paginas) {
echo "<li>";
echo " <a href='?pg=".$proximo."' aria-label='Next'>";
echo " <span aria-hidden='true'>»</span>";
echo " </a>";
echo "</li>";
} else {
echo "<li class='disabled'>";
echo " <span aria-hidden='true'>»</span>";
echo "</li>";
}
echo " </ul>";
echo "</nav>";
}
?>
Na paginacao.php akeles $pg-4 e $pg+4 servem para ele não mostrar todos os números quando for muitas páginas.. ele limita em mostrar apenas 4 antes e 4 depois..
Obrigado!!
Geralmente uso desta forma.
Abraço