Usuário Único e Paginação
Fala galera tudo certinho?
Bem... venho a algum tempo utilizando um script de paginação baseado neste do wolfphw... o problema... é que tanto este quanto qualquer outro script que tenha encontrado inicia a paginação no 0... com isso a pagina 1 torna-se 0 na listagem, 2 (1) e assim vai... gostaria de colocar as numeração corretamente... iniciando na página 1, porém já fiz inumeras modificações... que alcançaram a listagem correta, porém ao iniciar na página 1, eu perdia uma página da listagem (no caso a 0) que ficava sem ser exibida.
Segue o script:
pagina.php
<?php
//######### INICIO Paginação
$numreg = 40; // Quantos registros por página vai ser mostrado
if (!isset($pg)) {
$pg = 0;
}
$inicial = $pg * $numreg;
//######### FIM dados Paginação
// Faz o Select pegando o registro inicial até a quantidade de registros para página
$sql = mysql_query("SELECT * FROM tabela LIMIT $inicial, $numreg");
// Serve para contar quantos registros você tem na seua tabela para fazer a paginação
$sql_conta = mysql_query("SELECT * FROM tabela");
$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação
include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>
echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo
while ($aux = mysql_fetch_array($sql)) {
/* Ai o resto é com voces em montar como deve parecer o conteúdo */
}
?>
paginacao.php
<?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=".$PHP_SELF."?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=".$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 (($pg+2) < $quant_pg) {
echo "<a href=".$PHP_SELF."?pg=".($pg+1)." class=pg><b>próximo »</b></a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}
?>
Minha outra dúvida no caso sobre Usuários Unicos em um sistema...
criei em minha tabela de usuarios um campo chamado logado, o mesmo trabalha com enum 0, 1... por padrão todos os usuários ficam 0 e ao logar o script de validação faz um update na tabela colocando 1 no usuário, e caso alguem tente logar não consegue...
Quando o usuário clica no botão sair é feito novamente um update na tabela colocando 0 no usuário e assim liberando para que possa logar novamente...
a questão é a seguinte... e quando o browser é fechado sem clicar em sair? ou o navegador fecha por algum erro? o que eu posso fazer para deslogar? pois os usuários ficam presos... inclusive já li e fiz uma função em JS para ao fechar o navegador rodar a pagina de sair, porém, no firefox, opera e google chrome a mesma não funciona corretamente.
Se alguem puder me dar uma luz, agradeço!
Absss
Discussão (9)
Carregando comentários...