Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida Paginaçao


nbr2004

Pergunta

Olá pessoal esse script está pegando todos os arquivos com extensoes .JPG de uma pasta e exibindo 2 arquivos por linha, mas não estou conseguindo fazer paginacao, eu preciso q ele faça paginacao de 15 em 15 linhas alguém poderia me ajudar??

<?php

// titulo da pagina

$title = ":: Portal Una&iacute; :: O Site feito para Voc&ecirc";

// variável que define o diretório das imagens

$dir = "./imagem";

?>

<html>

<head>

<title><? echo "$title"; ?></title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<?php

echo "<center>";

// esse seria o "handler" do diretório

$dh = opendir($dir);

// loop que busca todos os arquivos até que não encontre mais nada

while (false !== ($filename = readdir($dh))) {

// verificando se o arquivo é .jpg - SE NÃO FOR JPG, não APARECE

if (substr($filename,-4) == ".jpg") {

// mostra o nome do arquivo e um link para ele - pode ser mudado para mostrar diretamente a imagem smile.gif

echo "<tr><td><img src=$dir/$filename width=350 height=263 cellSpacing=0 cellPadding=0 border=1> <td></tr>";

}

}

echo "</center>";

?>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Do mesmo jeito que você deu uma condição para aparecer somente arquivo "jpg", você fará a paginação.

1º você terá que pegar o valor todal de imagens, e dividir por 15 e utilizar a função "ceil" ( http://php.net/ceil ) para arrendondar para um valor sempre acima caso, veja um quebrado.

2º você dará a condição para aparecer somentes os "id" de 1 à 15 depois 16 à 30... até o numero total.

3º você precisará de uma variavel para poder indicar em que página você estará sendo que quando for 1, vai pegar de 1à15 quando for 2 16à30... , isso vai exigir um pouco de matemática e logica.

Se tiver alguma dúvida poste.

Veja aqui um exemplo mais detalhado: http://phpbrasil.com/articles/article.php/id/392

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, tentei fazer de tudo....mas n consegui adaptar para fazer a paginacao....vo colocar os dois codigos aki e alguém poderia junta-los p mim? Desde já agradeço...

Codigo das fotos

<?php
$dir = "./imagem";
?> 
<?php 

echo "<center>";

// esse seria o "handler" do diretório 
$dh = opendir($dir); 

// loop que busca todos os arquivos até que não encontre mais nada 
while (false !== ($filename = readdir($dh))) { 
// verificando se o arquivo é .jpg - SE NÃO FOR JPG, não APARECE 
if (substr($filename,-4) == ".jpg") { 
// mostra o nome do arquivo e um link para ele - pode ser mudado para mostrar diretamente a imagem :) 
echo "<tr><td><img src=$dir/$filename width=350 height=263 cellSpacing=0 cellPadding=0 border=1> <td></tr>"; 
} 
} 
echo "</center>";
?>
Codigo da Paginacao
<?php 
global $PHP_SELF; 

@$pagina = $_REQUEST['pagina']; 
@$exibe = $_REQUEST['exibe']; 

if ($pagina == "") { 
    $pagina = "1"; 
} 

if ($exibe == "") { 
    $exibe = "15"; 
} 

$arquivo_linhas = file("texto.txt"); 
$conta_linhas = count($arquivo_linhas); 
$total_paginas = ceil(($conta_linhas/$exibe)); 

echo "<center> Arquivo tem ".$conta_linhas." linhas <br>"; 
echo "Página ".$pagina." de ".$total_paginas."</center><br>"; 

$linha_chegar = (($pagina-1)*$exibe); 

for ($linha = 0; $linha != $linha_chegar; $linha++) { 
    list ($num_linha, $conteudo_linha) = each ($arquivo_linhas); 
} 
     
$ultima_linha = ($linha_chegar + $exibe); 
if ($ultima_linha > $conta_linhas) { 
    $ultima_linha = $conta_linhas; 
} 

echo "<center>Mostrando linhas de ".($linha_chegar+1)." a ".$ultima_linha."</center><br>"; 

$parar = "não"; 
while ($parar == "não") { 
    list ($numlinha, $conteudolinha) = each ($arquivo_linhas); 
    echo $conteudolinha."<br>"; 
     
    if (($numlinha + 1) == $ultima_linha) { 
        $parar = "sim"; 
    } 
} 
echo "<BR>"; 

$navegacao = 1; 

while ($navegacao <= $total_paginas) { 
    if ($navegacao != $pagina) { 
        echo ' <a href="'.$PHP_SELF.'?pagina='.$navegacao.'">'.$navegacao.'</a> '; 
    } else { 
        echo ' '.$navegacao.' '; 
    } 
    $navegacao++; 
} 
?> 

Link para o comentário
Compartilhar em outros sites

  • 0

Tá, vou dar um deconto no flood porque sua mensagem tinha sumido no limbo das mensagens antigas... happy.gif

Seguinte... vamos começar pelo começo.

Você sabe ir pegando o nome dos arquivos e mandando para uma array? De modo que, no final do loop você tenha uma array com todos os nomes dos arquivos? huh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

N sei cara, to comecando php agora!!!

Cara o jeito agora, é você para e começar entender lendo tutorias e vendo scripts pronto e tentar entender o que o autor fez, isso é bom tb, porque nós iremos ficar falando e falando e nada vai dar para entender, no "phpbrasil.com" tem ótimos tutorias, lá é bom começo, e veja mais em "php.net".

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

HAHA e aew pessoal!!!! Sow novo no fórum hauua, na verdade é o meu primeiro post hauuha, então, ví o que vocês estavam querendo ai e qual era o rpoblema e tudo...então...peguei e juntei tudo...então...vai ai o código feito por eu ein huahuaa no caso...ele foi criado para exibir imagens, mais é fácil de mudar.

Ai vai ele huaha:

<?
////////////////////////////////////////////////////////////////////
//Paginação Simples de arquivos de um diretório.
//Criado para estudo por K'Higashi.
//E-mail: hanya@ig.com.br
//Site: http://www.oang.cjb.net
////////////////////////////////////////////////////////////////////
//Configurações
////////////////////////////////////////////////////////////////////

$numero_de_fotos = "50";	//Número de fotos por página
$numero_de_colunas = "4";	//Número de colunas por página
$dir = "images/avatar"; // Deretório a ser listado
$tipo_de_arquivo = ".gif"; //Especifique aqui o tipo do arquivo a ser listado, para mais de um coloque || EX. .gif|.jpg

////////////////////////////////////////////////////////////////////
//Verificar Diretório e Gerar Array com o índice de todas as fotos
////////////////////////////////////////////////////////////////////

$$dir = @opendir($dir) or die("Erro: Diretório inexistente!"); //Tenta abrir o diretório, caso não consiga, mostra a mensagem de erro.

while (false !== ($file = readdir($$dir))) {
	if (ereg("$tipo_de_arquivo",$file)) { 
	if ($file != "." && $file != "..") {
	$i++;
	$indice[$i] = "$dir/$file"; 
	}
}
}

$indice = array_chunk($indice,$numero_de_fotos);	// Gera as paginas com o ARRAY_CHUNK (arredonda)


$n_page = count($indice);	// Calcula o Número de Paginas, -1 devido a o indice inicia em 0


for($i=$n_page; $i >= 0; $i--){ // Corrige a indexação de paginas que iniciam em zero, cometido pelo array_chunck
	$indice[$i+1] = $indice[$i];	
}

//Define e reconhece a página a ser exibida

if (isset($_GET['pagina'])){
	$pagina = $_GET['pagina'];
} else {
	$pagina = 1;
}

//Verificase a página é realmente válida

if ($pagina > $n_page || $pagina == 0) {
	die("Erro: Pagina solicitada inexistente!");
}
?>
<table align="center" width="90%" border="0" cellpadding="0" cellspacing="0">
<tr><td valign="top" align="right">
<?
// Armazena o diretório do arquivo de acordo com a foto

$path = $indice[$pagina][$foto]; 

echo "<td align=center>"; 

for ($i=0; $i < $numero_de_fotos; $i++) {
	if ($indice[$pagina][$i] != "") {	//Retira a possibilidade de criar um erro de lógica na última página.

  $path = $indice[$pagina][$i];	// Armazena o diretório do arquivo de acordo com a página
  echo "<img src='$path'> ";	//Exibe o arquivo, no caso, um arquivo de foto, você poderá trocar aqui!

  if (($i+1) % $numero_de_colunas == 0) {  //Verifica o número de colunas exata especificada em "$numero_de_colunas".
  	print "<br>";	//Quebra a linha caso o número passe da quantidade setada por $numero_de_colunas.
  }
	}
}
print "</tr><tr><td>&nbsp;<td align=center>";
for ($i=1; $i <= $n_page; $i++) {
	if ($i != $pagina) {  //Testa a pagina atual, é diferente da que esta sendo vista.
  print " <a href=".$PHP_SELF."?pagina=$i> $i</a>"; //Gera o link para a página atual.
	} else {
  print " [<b>$i</b>]</u>"; //Cloqueia o link para a página atual fazendo com que nem por engano o usuário clique no link da própria página atual
	}
}
print "</tr></table>";
?>

HAHA bom é isso ai pessoal, eu fiz este código para listar os avatares do pessoal que se registra no meu site, passem lá hehehe.

Bom, espero ter ajudado pessoal....T+!!!! hehehe vlw!

http://www.oang.cjb.net

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...