Estou tendo problemas com a paginação de uma sessão de meu site. Em todas as outras sessões funcionou direito, mas nessa página não está funcionando... a pessoa nao consegue avançar pra página seguinte. Quando tenta ela fica em branco...
Essa pagina que esta dando problema tem no topo links com as letras do alfabeto. Voce clica na letra e aparece todos os registros que começam com aquela letra. Uso GET para passar a letra para uma variavel.
Não estou conseguindo resolver, podem ajudar?
Seguem os códigos:
Paginacao.php
[codebox]<?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 ( $_GET['pg'] > 0) {
echo "<a href=".$PHP_SELF."?pg=".($_GET['pg'] -1) ."class=pg><b>« anterior</b></a>";
} else {
echo "<font color=#CCCCCC>« anterior</font>";
}
// Aqui começa a alteração
// faz o controle da quantidade de paginas irá mostrar em números na paginação
if (($_GET['pg'] - 3) < 1 ){
$ant = 1;
} else {
$ant = $_GET['pg'] - 3;
}
if (($_GET['pg'] + 6) > $quant_pg ) {
$pos = $quant_pg;
} else {
$pos = $_GET['pg'] + 6;
}
// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=$ant;$i_pg < $pos;$i_pg++) {
// Aqui termina a alteração
// 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=".$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=".$PHP_SELF."?pg=".($_GET['pg'] +1)." class=pg><b>próximo »</b></a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}
?>[/codebox]
a sessão com problemas
[codebox]<?
$letra = $_GET[letra]; //PASSANDO A LETRA PRA ESCOLHER REGISTROS CERTOS
//######### INICIO Paginação
$numreg = 9; // Quantos registros por página vai ser mostrado
if (!isset($pg)) {
$pg = 0;
}
$inicial = $_GET['pg'] * $numreg;
//######### FIM dados Paginação
$i=0;
$n = 3; //numero de colunas
echo "<table align=\"center\" cellpadding=\"13\">";
// Serve para contar quantos registros você tem na seua tabela para fazer a paginação
$sql_conta = mysql_query("SELECT * FROM bios WHERE inicial = '$letra' ORDER BY nome");
$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação
include("paginacao2.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>
echo "<br><br>";
// Faz o Select pegando o registro inicial até a quantidade de registros para página
$sql = "SELECT * FROM bios WHERE inicial = '$letra' ORDER BY nome LIMIT $inicial, $numreg";
$resposta2 = mysql_db_query($db, $sql, $conn);
while($valor = mysql_fetch_array($resposta2)) {
echo $i%$n==0 ? "\n<tr>\n<td>" : "\n<td>";
echo "<a href=\"ficha.php?nome=".$valor[nome]."\" target=\"centro\" title=\"".$valor[nome]."\"><img src=\"imagens/".$valor[caminho]."\" border=\"0\"></a>";
echo $i%$n==3 ? "\n</td>\n</tr>" : "\n</td>";
$i++;
}
echo "</table>";
?>[/codebox]
Edição feita por: savior, 03/01/2008, 11:42.