Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

WarLiKe

[Resolvido] Paginação para Galeria de fotos e muito mais

Recommended Posts

Galera . . . a pedidos que recebi estou postando esse script de paginação que eu sempre uso nos meus sites quando preciso

 

Ele cria uma paginação em tabela colunada onde você escolhe quantas colunas quer tipo assim:

 

1 2 3 4 5 6

7 8 9 10 11 12

13 14 15 16 17 18

 

assim por diante

 

Se ajudar alguém já ta ótimo

 

<?php
$conexao = mysql_connect("localhost", "root", "123456") or die(mysql_error());//Link de conexão com banco
mysql_select_db("bd_galeria") or die(mysql_error());//seleção do banco
$num_por_pagina = 20; // numero de imagens (registros) por página
$pagina = !$_GET["pagina"] ? 1 : $_GET["pagina"]; // Caso não haja numeração, torna-se página 1
$primeiro_registro = ($pagina*$num_por_pagina) - $num_por_pagina;
//o calculo acima é para saber qual o primeiro registro q deve aparecer nesta página
// Ex: primeiro = 2 x 20 = 40; 40 - 20 = 20 - > 20 é o primeiro registro da página 2 levando em consideração que 0 é o primeiro da página 1
$pesquisa = "select * from images order by id desc limit $primeiro_registro, $num_por_pagina";
// string de pesquisa mysql simles determinando em limit qual o primeiro registro e até onde vai além desse primeiro
$busca_fotos = mysql_query($pesquisa, $conexao); // executa a consulta
list($total_fotos) = mysql_fetch_array(mysql_query("select count(*) from images", $conexao));// conta quantos registros há na tabela
$total_paginas = $total_fotos/$num_por_pagina; // calcula o numero de páginas necessárias de acordo com o numero de fotos pra cada uma
$prev = $pagina - 1; // página anterior
$next = $pagina + 1; // próxima página
$total_paginas = ceil($total_paginas); // pega o inteiro do numero de páginas
$to_linha = 1; // variavel de controle para informação de qual coluna na tabela estamos
$painel = "<table align=\"center\" border=\"0\" cellspacing=\"3\" cellpadding=\"0\"><tr>"; // começa a tabela com a paginação
for ($x=1; $x<=$total_paginas; $x++){
	if ($x==$pagina) { // Se a página for a atual não vai ter link
		$painel .= "<td align=\"center\" valign=\"middle\" width=\"27\">$x</td>";
	} else {// caso contrario tem link
		$painel .= "<td align=\"center\" valign=\"middle\" width=\"27\"><a href=\"$PHP_SELF?pagina=$x\">$x</a></td>";
	}
	if($to_linha == 15){ // 15 é o numero de colunas que você quer na tabela caso tenha muita paginação, assim ele colocaria o 16 na linha de baixo não deixando q seu layout tenha 2 metros de largura
		$painel .= "</tr><tr>";// fecha linha e abre outra
		$to_linha = 1;// já que mudou de linha, reinicia o controle de colunas
	}
	$to_linha++; // add 1 as colunas
}
$painel .= "</tr></table>";// após o término fecha a tabela que fica guardada na variavel $painel que você pode colocar onde quiser que a páginação apareça
?>

 

Desculpa se coloquei muito comentário subestimando o raciocínio do ser humano, mas é o 1º script q posto aqui no laboratório

 

A mostragem das imagens eu não abordei aqui devido a ser um script de paginação o foco, a variável de busca tá lá: $busca = . . . . . .

 

É só usar

 

Qualquer dúvida posta ai

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.