Image pagination

-2

I need to list some images, which need to be shown in groups of 6 per page. It can be any type of pagination.

I have knowledge in Database, PHP, I can bring the images of the bank, however I am looking for a simple pagination, that I can use in any project, p. e.g.

<- 1 2 3 .. ->

I know the limit of HTML, but it will only limit how much it will be seen, I needed it to show all the items of the database, but with pagination, do you know any plug-ins?

    
asked by anonymous 25.02.2014 / 20:52

1 answer

1

Your question was very generic and in the end I understood that it is any kind of pagination in PHP that works with images. Researching, found this link that owns a snippet implementing what you want:

<?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
?>

>     
25.02.2014 / 21:29