Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Dae galera! Estou fazendo um sistema e utilizando uma paginação bem simples. Localmente tudo funciona bem, mas no servidor as páginas não trocar ao clicar no link. Fica sempre na inicial, se eu setar a inicial para outra ele aceita, mas não troca também. Isso demonstra a princípio que os dados estão sendo selecionados, mas alguma configuração parece não estar sendo aceita. Se puderem me ajudar eu agradeço.
paginação.php
<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 14px; color: #06F; text-decoration: none}
-->
</style>
<div style="display:table; font-size:16px; width:100%; text-align:center; padding-top:5px;">
<?php
$quant_pg = ceil($quantreg/$numreg);
$quant_pg++;
// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
if ( $pg > 0) {
echo "<a href=".$_SERVER['PHP_SELF']."?pag=$_GET[pag]&pg=".($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 ($pg == ($i_pg-1)) {
echo " <span class=pgoff>[$i_pg]</span> ";
} else {
$i_pg2 = $i_pg-1;
echo " <a href=".$_SERVER['PHP_SELF']."?pag=$_GET[pag]&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 (($pg+2) < $quant_pg) {
echo "<a href=".$_SERVER['PHP_SELF']."?pag=$_GET[pag]&pg=".($pg+1)." class=pg><b>Próximo »</b></a>";
} else {
echo "<font color=#CCCCCC>Próximo »</font>";
}
?>
</div>
Usando:
<?php
$numreg = 2;
if (!isset($pg)) { $pg = 0; }
$inicial = $pg * $numreg;
$sql = mysql_query("SELECT * FROM produtos ORDER BY id_produtos DESC LIMIT $inicial, $numreg");
$sql_conta = mysql_query("SELECT * FROM produtos");
$quantreg = mysql_num_rows($sql_conta);
while ($dados = mysql_fetch_array($sql)) {
$query2 = mysql_query("SELECT * FROM fotos WHERE galeria = ".$dados[codigo]." LIMIT 1");
$dados2 = mysql_fetch_array($query2);
$conta = mysql_num_rows($query2);
?>
<a href="?pag=produtos&codigo=<?php echo $dados[codigo];?>">
<div class="anuncio-geral-box">
<?php if($conta > 0){?>
<img src="imagens/produtos/<?php echo $dados[codigo]; ?>/<?php echo $dados2[foto]; ?>" />
<?php }else {?>
<img src="imagens/sem_foto.gif" />
<?php } ?>
<br /><?php echo "<strong>$dados[nome]</strong><br />R$ $dados[preco]"; ?>
</div>
<?php } ?></a>
<?php } /*geral produtos*/?>
<?php include("includes/paginacao.php"); ?><?
include"conexao.php";
$sql = mysql_query("SELECT * FROM tabela");
$quantidade = 10; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $quantidade); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = ($pagina * $quantidade); // Retorna qual será a primeira linha a ser mostrada no MySQL
$usuarios = mysql_query("SELECT id FROM tabela LIMIT $inicio ,$quantidade"); // Executa a query no MySQL com o limite de linhas.
while($exibir = mysql_fetch_array($usuarios)) {
echo "$exibir[0]<br>";
}
if($pagina > 0) {
$menos = $pagina - 1;
echo "<a href='?pagina=$menos'>Anterior</a>";
}
for($i=0;$i<$paginas;$i++) {
echo " | <a href='?pagina=$i'>$i</a>";
}
if($pagina < ($paginas - 1)) {
$mais = $pagina + 1;
echo " | <a href='?pagina=$mais'>Próxima</a>";
}
?>eu prefiro um modo mais simples de se Fazer tal paginação..
paginação mais simples e pequena sem muita blablabla!
if (isset($_GET['page']) && is_numeric($_GET['page'])){
$page = $_GET['page'];
}else{
$page = 1;
}
$rows_por_pagina = 10;
do{
if (($num_rows = mysql_num_rows($db->query("SELECT id FROM tabela"))) % $rows_por_pagina)
break;
}while(0);
$num_pages = ceil($num_rows / $rows_por_pagina);
$inicio = ($page - 1) * $rows_por_pagina;
$sql = mysql_query("SELECT * FROM tabela LIMIT ".$inicio.",$rows_por_pagina"));//Exibe Paginas
for ($i = 1;$i <= $num_pages;$i++){
if ($i == $page){
echo '<b><a href="pagina.php?page='.$i.'">['.$i.']</a></b>';
}else{
echo '<a href="pagina.php?page='.$i.'">['.$i.']</a>';
}
}
você fez o backup do banco de dados local e importou para o servidor ?