Pagination of images

Asked

Viewed 534 times

-2

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

I have knowledge in Database, PHP, I can bring the images from the database, but I am looking for a simple pagination, which I can use in any project, p. ex.:

<- 1 2 3 .. ->

I know the limit of HTML, but then it will only limit how much will be seen, I needed to show all the items of the bank, but with paging, know some plug-in?

  • 3

    My dear, the ideal is that you show something you have already produced... We are a community that solves doubts, but you need to start somewhere...

  • 1

    And where is the list of images? In HTML? In PHP coming from a BD? In Javascript?

  • Hello, I have knowledge in Database, php, I can bring the images of the database, but I am looking for a simple pagination, which I can use in any project... ex: <- 1 2 3 .. ->

  • 1

    You know the clause LIMIT Mysql? Using it would be the most basic way to implement paging.

  • 1

    @bfavaretto the more "low level" the pagination, the better (I believe). The ideal would be to use LIMIT, combined with a good index definition in the database.

  • i know the limit of html, but then it will limit how much will be seen, I needed to show all the items of the bank, but with paging, know some plug-in?

Show 1 more comment

1 answer

1

Your question became very generic and at the end I understood that it serves any type of PHP paging that works with images. Searching, I found this link that has 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
?>

Urges to stress which, due to the nature of the source and its age (2008), adaptations to specific functions may be necessary, but is the best to do in view of the generalist aspect of the question.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.