Boa tarde pessoal, sou novo em PHP e estou com algumas duvidas neste codigo de paginação de resultados. Ele exibe os dois primeiros registros normalmente do banco, mas não esta sendo exibindo os outros registros, os links dos numeros da pagina não esta funcionando e esta aparecendo os seguintes erros:
Notice: Undefined variable: pagina in C:\xampp\htdocs\exemplos\paginacao\index2.php on line 12
if (!$pagina) {
$pagina = 1;
}
Notice: Undefined variable: PHP_SELF in C:\xampp\htdocs\exemplos\paginacao\index2.php on line 51
Notice: Undefined variable: PHP_SELF in C:\xampp\htdocs\exemplos\paginacao\index2.php on line 63
Notice: Undefined variable: PHP_SELF in C:\xampp\htdocs\exemplos\paginacao\index2.php on line 63
Anterior | [1] [2] [3] [4] | Próxima
<?
// bloco 1 - conecte-se ao banco de dados
$con = mysql_pconnect('localhost','root',''); // host, usuário, senha
mysql_select_db('banco'); // banco de dados
// bloco 2 - defina o número de registros exibidos por página
$num_por_pagina = 2;
// bloco 3 - descubra o número da página que será exibida
// se o numero da página não for informado, definir como 1
if (!$pagina) {
$pagina = 1;
}
// bloco 4 - construa uma cláusula SQL "SELECT" que nos retorne somente os registros desejados
// definir o número do primeiro registro da página. Faça a continha na calculadora que você entenderá minha fórmula.
$primeiro_registro = ($pagina*$num_por_pagina) - $num_por_pagina;
// consulta apenas os registros da página em questão utilizando como auxílio a definição LIMIT. Ordene os registros pela quantidade de pontos, começando do maior para o menor DESC.
$consulta = "SELECT nome, senha, login FROM usuarios LIMIT $primeiro_registro, $num_por_pagina";
// executar query
$res = mysql_query($consulta,$con);
// bloco 5 - exiba os registros na tela
echo "<ul>"; while (list($nome, $login, $senha) = mysql_fetch_array($res)) {
echo "<li> $nome - $login - $senha";
}
echo "</ul>";
// bloco 6 - construa e exiba um painel de navegabilidade entre as páginas
$consulta = "SELECT COUNT(*) FROM usuarios";
list($total_usuarios) = mysql_fetch_array(mysql_query($consulta,$con));
$total_paginas = $total_usuarios/$num_por_pagina;
$prev = $pagina - 1;
$next = $pagina + 1;
// se página maior que 1 (um), então temos link para a página anterior
if ($pagina > 1) {
$prev_link = "<a href=\"$PHP_SELF?pagina=$prev\">Anterior</a>";
} else { // senão não há link para a página anterior
$prev_link = "Anterior";
}
// se número total de páginas for maior que a página corrente, então temos link para a próxima página
if ($total_paginas > $pagina) {
$next_link = "<a href=\"$PHP_SELF?pagina=$next\">Próxima</a>";
} else { // senão não há link para a próxima página
$next_link = "Próxima";
}
// vamos arredondar para o alto o número de páginas que serão necessárias para exibir todos os registros. Por exemplo, se temos 20 registros e mostramos 6 por página, nossa variável $total_paginas será igual a 20/6, que resultará em 3.33. Para exibir os 2 registros restantes dos 18 mostrados nas primeiras 3 páginas (0.33), será necessária a quarta página. Logo, sempre devemos arredondar uma fração de número real para um inteiro de cima e isto é feito com a função ceil().
$total_paginas = ceil($total_paginas);
$painel = "";
for ($x=1; $x<=$total_paginas; $x++) {
if ($x==$pagina) { // se estivermos na página corrente, não exibir o link para visualização desta página
$painel .= " [$x] ";
} else {
$painel .= " <a href=\"$PHP_SELF?pagina=$x\">[$x]</a>";
}
}
// exibir painel na tela
echo "$prev_link | $painel | $next_link";
?>
Alguém poderia me ajudar?? Agradeço desde já
Editado por guirimst Adicionar a tag [code]! *FIT*
Pergunta
guirimst
Boa tarde pessoal, sou novo em PHP e estou com algumas duvidas neste codigo de paginação de resultados. Ele exibe os dois primeiros registros normalmente do banco, mas não esta sendo exibindo os outros registros, os links dos numeros da pagina não esta funcionando e esta aparecendo os seguintes erros:
Notice: Undefined variable: pagina in C:\xampp\htdocs\exemplos\paginacao\index2.php on line 12
if (!$pagina) {
$pagina = 1;
}
Notice: Undefined variable: PHP_SELF in C:\xampp\htdocs\exemplos\paginacao\index2.php on line 51
$next_link = "<a href=\"$PHP_SELF?pagina=$next\">Próxima</a>";
Notice: Undefined variable: PHP_SELF in C:\xampp\htdocs\exemplos\paginacao\index2.php on line 63
$painel .= " <a href=\"$PHP_SELF?pagina=$x\">[$x]</a>";
Notice: Undefined variable: PHP_SELF in C:\xampp\htdocs\exemplos\paginacao\index2.php on line 63
Notice: Undefined variable: PHP_SELF in C:\xampp\htdocs\exemplos\paginacao\index2.php on line 63
Anterior | [1] [2] [3] [4] | Próxima
Alguém poderia me ajudar?? Agradeço desde já
Editado por guirimstAdicionar a tag [code]! *FIT*
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.