Achei este script na internet e fiz umas modificacoes mas quando pulo para proxima pagina ele não seleciona os registros, apenas os da primeira 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 * from listagem order by id desc limit $primeiro_registro, $num_por_pagina";
} 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
Pergunta
HebertCortez
Achei este script na internet e fiz umas modificacoes mas quando pulo para proxima pagina ele não seleciona os registros, apenas os da primeira pagina !!!
//bloco 1 - conecte-se ao banco de dados
$con = mysql_pconnect('localhost','root',''); // host, usuário, senha
mysql_select_db('transporte'); // banco de dados
// bloco 2 - defina o número de registros exibidos por página
$num_por_pagina = 6;
$pagina_recebe = $_GET['pagina'];
// 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 * from listagem order by id desc limit $primeiro_registro, $num_por_pagina";
// executar query
$res = mysql_query($consulta);
// bloco 5 - exiba os registros na tela
echo " <table width=94%' border='1' align='center' cellpadding='0' cellspacing='0' background='img/fundo.gif'>";
echo " <tr bgcolor='#EBEBEB' align='center'> ";
echo " <td width='2%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>ID</font></b></td>" ;
echo " <td width='8%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>Unidade</font></b></td>" ;
echo " <td width='7%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>Origem</font></b></td>" ;
echo " <td width='7%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>Contato</font></b></td>" ;
echo " <td width='5%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>Ramal</font></b></td>" ;
echo " <td width='15%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>Destino</font></b></td>" ;
echo " <td width='8%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>Contato</font></b></td>" ;
echo " <td width='6%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>Ramal</font></b></td>" ;
echo " <td width='9%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>Descriçao</font></b></td>" ;
echo " <td width='8%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>Data de Saída</font></b></td>" ;
echo " <td width='8%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>Hora de Saída</font></b></td>" ;
echo " <td width='28%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>Obs</font></b></td>" ;
echo " </tr>";
echo "</table>";
$vf = true;
while ($row = mysql_fetch_array($res)) {
$id = $row["id];
$unidade = $row["unidade"];
$origem = $row["origem"];
$contato = $row["contato"];
$ramal = $row["ramal"];
$destino = $row["destino"];
$contato2 = $row["contato2"];
$ramal2 = $row["ramal2"];
$descricao = $row["descricao"];
$data = $row["data"];
$hora = $row["hora"];
$obs = $row["obs"];
echo " <table width='94%' border='0' align='center' cellpadding='0' cellspacing='0' background='img/fundo.gif'>";
if ($vf) {
echo "<tr bgcolor=\"#FFFFFF\" align='center'>";
$vf = false;
} else {
echo "<tr bgcolor=\"#EBEBEB\" align='center'>";
$vf = true;
}
echo " <td width='2%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$id</font></b></td>" ;
echo " <td width='8%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$unidade</font></b></td>" ;
echo " <td width='7%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$origem</font></b></td>" ;
echo " <td width='7%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$contato</font></b></td>" ;
echo " <td width='5%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$ramal</font></b></td>" ;
echo " <td width='15%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$destino</font></b></td>" ;
echo " <td width='8%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$contato2</font></b></td>" ;
echo " <td width='6%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$ramal2</font></b></td>" ;
echo " <td width='9%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$descricao</font></b></td>" ;
echo " <td width='8%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$data</font></b></td>" ;
echo " <td width='8%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$hora</font></b></td>" ;
echo " <td width='28%'><b><font face='Geneva, Arial, Helvetica, san-serif' size='2'>$obs</font></b></td>" ;
echo " </tr>" ;
echo "</table>";
}
// bloco 6 - construa e exiba um painel de navegabilidade entre as páginas
$consulta = "select count(*) from listagem";
list($total_usuarios) = mysql_fetch_array(mysql_query($consulta));
$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=\"$pagina_recebe?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=\"$pagina_recebe?pagina=$next\">Próxima";
} 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=\"$pagina_recebe?pagina=$x\">[$x]</a>";
}
}
echo "<br><br>";
// exibir painel na tela
echo "$prev_link | $painel | $next_link";
Link para o comentário
Compartilhar em outros sites
5 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.