aih tenho um link "arquivo de news" e tipo, mando exibir todas as news... soh q ele mostra todas numa unica pagina
eu keria saber como posso fazer para na primeira pagina aparecer as 15 ultimas, na segunda as 15 seguintes e assim por diante!

Posted 18/05/2003, 21:06
Posted 18/05/2003, 21:35
Posted 18/05/2003, 21:49
Posted 19/05/2003, 14:15
Posted 20/05/2003, 10:21
Neste tutorial iremos aprender a fazer paginação.
Parte 1
Primeiramente vamos executar uma query no mysql.
$sql = mysql_query("SELECT * FROM tabela");
Esta query irá retornar o valor total da tabela.
Vamos então fazer a paginação.
$lpp = 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 / $lpp); // 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 * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.
Agora iremos fazer o loop para que liste os resultados:
while($l = mysql_fetch_array($sql)) {
echo "Resultado...
n";
}
Pronto.
Parte 2
Agora iremos fazer com que o PHP gere os links das páginas:
if($pagina > 0) {
$menos = $pagina - 1;
$url = "$PHP_SELF?pagina=$menos";
echo "<a href="$url">Anterior</a>"; // Vai para a página anterior
}
for($i=0;$i<$paginas;$i++) { // Gera um loop com o link para as páginas
$url = "$PHP_SELF?pagina=$i";
echo " | <a href="$url">$i</a>";
}
if($pagina < $paginas) {
$mais = $pagina + 1;
$url = "$PHP_SELF?pagina=$mais";
echo " | <a href="$url">Próxima</a>";
}
Pronto. Veremos como fica o script inteiro:
<?
$sql = mysql_query("SELECT * FROM tabela");
$lpp = 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 / $lpp); // 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 * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.
while($l = mysql_fetch_array($sql)) {
echo "Resultado...
n";
}
if($pagina > 0) {
$menos = $pagina - 1;
$url = "$PHP_SELF?pagina=$menos";
echo "<a href="$url">Anterior</a>"; // Vai para a página anterior
}
for($i=0;$i<$paginas;$i++) { // Gera um loop com o link para as páginas
$url = "$PHP_SELF?pagina=$i";
echo " | <a href="$url">$i</a>";
}
if($pagina < ($paginas - 1)) {
$mais = $pagina + 1;
$url = "$PHP_SELF?pagina=$mais";
echo " | <a href="$url">Próxima</a>";
}
?>
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)