Ir para o conteúdo
NunoDinis

Paginação com array

Mensagens Recomendadas

NunoDinis

Boa tarde,

Estou a fazer uma paginação através de um array que está a funcionar bem, mas não consigo pôr a funcionar quando os registos estão na tabela (que provêm de uma pesquisa).

<?php
$result = $client->ZrrWsComunicaArquivo($params);
foreach ($result->OutGestArquivo->item as $row) {
 $arr[]=$row->Artigo;
?>
<table style="width: 50%" cellspacing="1" class="style1">
 <tr>
<td><?PHP echo $row->Artigo; ?></td>
<td class="style2"><?PHP echo $Matriz[0][1]; ?></td>
  </tr>
</table>
<?PHP
}

//FUNÇÕES DE PAGINAÇÃO
//O erro estará aqui, na forma como estou a relacionar este trecho com o "desenho" da tabela.
$RegistrosPorPagina = 5;
 if (!isset($_GET["PaginaAtual"])) {
 $PaginaAtual = 1;
  } else {
  $PaginaAtual = $_GET["PaginaAtual"]; }
  $TotalDeRegistros = (count($arr) - 1);
  $TotalDePaginas = ceil($TotalDeRegistros/$RegistrosPorPagina);
  $PrimeiroRegistro = (($PaginaAtual * $RegistrosPorPagina) - $RegistrosPorPagina);

 function CriarLinks ($TotalDePaginas)
   {
	  $link = '';
	  for ($i = 1; $i <= $TotalDePaginas; $i++)
	  { $link .= ' <a href="exemploTabela.php?PaginaAtual='.$i.'">'.$i.'</a> |'; }
	  return $link;
   }

  for ($i = $PrimeiroRegistro; $i < ($RegistrosPorPagina + $PrimeiroRegistro); $i++)
   {
	  if(isset($arr[$i]))  {  
				echo $arr[$i].'<br>'; }
   }
	echo CriarLinks($TotalDePaginas);
	return $result;
      }
func1();
?>

O que será que tenho que mudar ?

Editado por NunoDinis

Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

Desculpa, isto depois de copiado do NotePad nunca fica lá muito bem.

Dei um jeito.. acho que dá para perceber melhor!


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

Aparece-me a tabela preenchida com algumas valores. Aqui tudo bem...

E em baixo da tabela aparece a paginação a funcionar perfeitamente, mas sem estar interligada com a tabela.


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

Imaginemos que a tabela tem 18 registos, quero que mostre apenas 9. Se carregar para a página dois, quero que me apareceram os outros 9 registos... E por aí fora. Percebes ?

Uma navegação.. eu tenho em mysql, mas no projeto que estou a trabalhar vem tudo por arrays.


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

sem a especificação do pedido é impossível saber se é mesmo possível sequer ...

mas se não for possível terás de apresentar somente os registos do array correspondentes da "página" a ser visualizada


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis
sem a especificação do pedido é impossível saber se é mesmo possível sequer ...

Como assim ?

Editado por NunoDinis

Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

não faço ideia se é possível filtrar o pedido por início da lista e número máximo de registos, algo que nunca disseste se é possível fazer ou não ....


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

Acho que ainda não me entendeste..

O código dá, e já consigo navegar entre páginas com os valores que o software filtra, através dos arrays.

Apenas não estou a conseguir fazer o mesmo processo, com o registo em linhas da tabela. Estás a entender ?


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

Imaginemos que a pesquisa retorna 4 valores : TC1,TC2,TC3 e TC4

O que o software está a fazer é criar uma linha para cada registo na tabela, ficando assim:

//TABELA
Linha 1- TC1
Linh1 2- TC2
Linh1 3- TC3
Linh1 4- TC4

Vamos supor que eu quero mostrar dois registos em cada "pagina", ficaria:

Linha 1- TC1

Linh1 2- TC2

em baixo teria a navegação para ir para a proxima pagina, que retornaria:

Linha 4- TC3
Linh1 4- TC4


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

mas se não for possível terás de apresentar somente os registos do array correspondentes da "página" a ser visualizada

já te tinha dito, terás de filtrar o que pretendes amostrar


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
$reg_por_pag;
$pag;

for ($i = $reg_por_pag * $pag; $i < $reg_por_pag * ($pag + 1); $i++)
{
 show_reg($list, $i);
}


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.