0
Guys, I’m having a little problem paging a system I’m developing.
When I search the resulting in the database, the link to pass to the next page, either link or stay hidden.
I found that the problem is on this line: $quant_pg = ceil ($sql / $limite) -1;
someone can help me solve the problem, I’ve broken my head that only here!
Here is the code of which visualizes the result of the Database:
<body>
<center><h2> Lojas Cadastradas </h2></center>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="table">
<tr class="linha">
<td class="linha" width="20%" align="center"><b>Codigo da Loja</b></td>
<td class="linha" align="center"><b>Nome da Loja</b></td>
</tr>
<?php
require 'processos/config.php';
require 'processos/connection.php';
require 'processos/database.php';
$limite = 5; // Quantos registros por página vai ser mostrado
if( isset( $_GET['pagina'] ) && (int)$_GET['pagina'] >= 0) {
$pagina = (int)$_GET['pagina'];
}
else {
$pagina = 0;
}
$offset = $limite * $pagina;
//LÊ DADOS DO BANCO
$lojas = DBRead ("lojas", "ORDER BY cod_loja ASC LIMIT $limite OFFSET $offset", "id_lojas, cod_loja, nome_loja");
foreach ($lojas as $lj) {
?>
<tr onmouseover="ChangeColor(this, true);" onmouseout="ChangeColor(this, false);" onclick="DoNav('altera_loja.php?id=<?php echo $lj['id_lojas'];?>');">
<td class="linha" align="center" valign="middle"><?php echo $lj['cod_loja'];?></td>
<td class="linha espaco" valign="middle"><?php echo $lj['nome_loja']; ?></td>
</tr>
<?php
}
?>
</table>
<?php
require "paginacao.php";
?>
</body>
below follows the pagination code;
<?php
$sql = DBRead ("lojas");
$quant_pg = ceil ($sql / $limite) -1;
$quant_pg ++;
var_dump($sql);
//echo "$sql";
// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
if ( @$_GET['pg'] > 0) {
echo "<a href=".$_SERVER['PHP_SELF']."?pg=".(@$_GET['pg']-1)." class=pg ><b>« Anterior</b></a>";
} else {
echo "<font color=#CCCCCC>« anterior </font>";
}
// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=1; $i_pg<$quant_pg;$i_pg++) {
// Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
if (@$_GET['pg'] == ($i_pg-1)) {
echo " <span class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=".$_SERVER['PHP_SELF']."?pg=$i_pg2 class=pg><b>$i_pg</b></a> ";
}
}
// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if ((@$_GET['pg']+2) < $quant_pg) {
echo "<a href=".$_SERVER['PHP_SELF']."?pg=".(@$_GET['pg']+1)." class=pg ><b>próximo »</b></a>";
} else {
echo " <font color=#CCCCCC> -- próximo »</font>";
}
?>
There’s a lot of work to be done... take a look in this example of paging. Or this example, a little more robust.
– Ivan Ferrer