Ir para conteúdo

POWERED BY:

Arquivado

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

João Paulo Belentani

Paginação em seções phpp

Recommended Posts

olá possuo uma entrada na seçao exemplo a seçao aberta dentro do index fica

...index.php?p=minhasecao

 

beleza, mas como faço para fazer uma paginação nesta seçao pois quando a paginaçao eh mairo que uma pagina ela tenta acessar

...index.php?p=minhasecao?pagina=2

 

ela volta na principal seção setada!

como conserto isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa @hinom, você poderia ser mais interativo... coloca o que ele vai mudar no código dele! assim você não vai simplesmente alimentar o fórum com posts desnecessários...

 

suponhamos que você tenha 20 linhas de sessões e e queira exibir apenas 5 em cada pagina, assim você teria que dividir o total de registros pelo o "limite" (máximo de resultados que vc quer que seja exibido por página) assim você teria um total de páginas, mais ou menos assim:

 

<?php
if(isset($_GET['limite'])) {
			$limite = $_GET['limite'];
			}
		    if(empty($limite)){
				$limite = 5; //Define o limite de registros a serem exibidos.
				} 
			if(isset($_GET['page'])){
			$pagina = ($_GET['page']);
			}

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

$inicio = ($pagina * $limite) - $limite; //este cálculo te dará o registro inicial a ser selecionado.
$total_paginas = ceil($total_registros / $limite); //função ceil() arredonda números para o número inteiro mais próximo.
?>

eu coloquei o limite pra ser pegado pelo method GET, pois você poderia adicionar um combox que determinaria o limite de paginas a serem exibidas, isso poderia ser feito dinâmicamente pelo GET, assim ao mudar o valor no combox, automaticamente mudar o valor da exibição.

 

Se você estiver pegando o registro de um banco de dados, você terá que auxiliar em seu script o LIMIT e o OFFSET.

Como você não me deu uma dúvida consistente eu estou lhe mostrando apenas a lógica do que você quer saber, espero ter ajudado.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa @hinom, você poderia ser mais interativo... coloca o que ele vai mudar no código dele! assim você não vai simplesmente alimentar o fórum com posts desnecessários...

 

suponhamos que você tenha 20 linhas de sessões e e queira exibir apenas 5 em cada pagina, assim você teria que dividir o total de registros pelo o "limite" (máximo de resultados que vc quer que seja exibido por página) assim você teria um total de páginas, mais ou menos assim:

 

<?php
if(isset($_GET['limite'])) {
			$limite = $_GET['limite'];
			}
		    if(empty($limite)){
				$limite = 5; //Define o limite de registros a serem exibidos.
				} 
			if(isset($_GET['page'])){
			$pagina = ($_GET['page']);
			}

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

$inicio = ($pagina * $limite) - $limite; //este cálculo te dará o registro inicial a ser selecionado.
$total_paginas = ceil($total_registros / $limite); //função ceil() arredonda números para o número inteiro mais próximo.
?>

eu coloquei o limite pra ser pegado pelo method GET, pois você poderia adicionar um combox que determinaria o limite de paginas a serem exibidas, isso poderia ser feito dinâmicamente pelo GET, assim ao mudar o valor no combox, automaticamente mudar o valor da exibição.

 

Se você estiver pegando o registro de um banco de dados, você terá que auxiliar em seu script o LIMIT e o OFFSET.

Como você não me deu uma dúvida consistente eu estou lhe mostrando apenas a lógica do que você quer saber, espero ter ajudado.

 

Att.

E você acha que ajudou em alguma coisa?

Em primeiro lugar que ele não perguntou como fazer uma paginação.

Em segundo lugar, o problema dele está claro na própria URL

...index.php?p=minhasecao?pagina=2

 

O correto seria

...index.php?p=minhasecao&pagina=2

 

Ai tem que ver exatamente como ele está montando esse link, o problema básico que a gente encontra no fórum é que em geral as pessoas confundem programador com adivinha, sem ver um script qualquer tipo de explicação fica abstrata demais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, além de não ser muito intuitivo com suas sugestoes/palavras e afins, você é um mal interpretador! dizer que o seu post foi desnecessário, não é o mesmo a dizer que você é desnecessário!

 

Detalhe, você conseguiu indetificar que o problema estava na URL, e logo em seguida você deu uma suposta solução!

pq não fez isso antes?! meu intuito não é afrontar ninguém, apenas ser sensato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae galera. nao deu tempo de dar uma lida ainda. pq to trampando e vou pra facul agr, quando chegar dou uma olhada gente.

 

mas opra qlauqer duvida fiz um site teste é este

www.likeup.besaba.com

clica em ADM no topo login teste senha teste1. a paginação que quero esta no link de "editar midias"

qualquer erro que der é opq esta upando os arquivos ainda galera. fuis ate jaja!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor, ninguém aqui é uma criança, logo sem brigas...

 

Bruno, você é novo no fórum, então não conhece muito bem a situação. Nós geralmente não ajudamos coisas óbvias porque isso só incentiva cada vez mais posts estúpidos, sem códigos, que têm soluções prontas no Google, que podem ser resolvidos com 5 minutos de raciocínio simples, que já foram perguntados mil vezes em todos os cantos da internet. Abra a página do fórum de PHP e veja os tópicos: 90% deles são repetições, têm uma gramática incompreensível, não têm nem código e quando têm é um código spaghetti de um milhão de linhas, não informam o erro que ocorreu, querem código pronto, etc. Dar uma solução prontinha para esses posts só faz esse tipo de post crescer cada vez mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom gente, obrigado pela ajuda. mas nao funcionou, nem o caso de adicionar o & entre os links. e desculpe moderador, mas nao encontrei nem em foruns gringos como faria para ajustar isto!

Desculpe nao mostrar o codigo, pois é um codigo normal de paginação que funciona perfeitamente na seção principal. e nao sei onde começar a exibir, pois teria de mostrar o seçoes.php, o index.php e a pagina em si. isso mostraria um grande script e sei que a maioria nao perde tempo lendo scripts alheios. por isto puis a duvida geral caso estivesse faltando algum detalhe me corrigiriam, como foi o caso do "&" que nao funcionou!

Alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

#8 Entrar no link e testar o sistema também é trabalho.. análise de sistemas..
Ninguém aqui vai parar suas atividades corriqueiras para resolver um trabalho alheio de graça..

 

 

#10 vc não vai encontrar solução específica para o seu caso específico em lugar algum.

 

isso é algo somente seu..

 

sem ver o código não tem como ajudar em nada... vamos ficar aqui dando palpites aleatórios.

 

sobre o código, não precisa postar inteiro.. apenas o trecho relevante... mas pelo que estou vendo vc não é programador pelas perguntas que está fazendo..

 

uma alternativa é vc contratar um programador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em partes sim.. mas o que vc pede foge do contexto..

 

Se tivesse algo relevante para ajudá-lo ou auxilá-lo de forma objetiva, pode ter certeza que eu ou alguém disponível já teria ajudado sem lero lero..

 

Entenda que isso aí é o seu trabalho.

Não confunda ajuda com trabalho.

Você recebe por isso de alguma forma e está pedindo para um terceiro resolver o seu trabalho "de graça".

 

Infelizmente muitos confundem o forum achando que é um local onde outros tem que fornecer soluções prontas para resolver problemas alheios ou um local onde temos obrigação em ensinar.

Aliás, lecionar também é trabalho.

 

A maioria não agradece com um simples "obrigado" ou sequer sabe pedir algo com "por favor"... Pedem a mão e exigem o braço e se acham no direito de cobrar, enraivecidos.

 

Mas enfim, chega de mimimi e vamos as vias de fato.

 

Dependendo do que você postar alguém o auxiliará.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, lembrando que isto é pra estudo. e não pra trabalho, ou comercio...

aqui esta o codigo de seçoes.php

 

<?php
ini_set("short_open_tag","on");

$incl = false;

switch($_GET["p"])
{
case "novo_artigo":
  include("conteudo/novo_artigo.php"); 
  $incl = true;
  break;
  
case "editarmidias":
  include("conteudo/midias.php"); 
  $incl = true;
  break;


}
if ($incl == false) include("principal.php");
?>

aquui o codigo da parte de paginação do editarmidia

if (!isset($_GET[""])) { // Verifica se a variável pagina não existe na URL	 // Determina o máximo de registros a serem exibidos por página
		$pagina = "1"; // Se não existir, cria a variável e a inicia em 1
	} else { // Caso exista
		$pagina = $_GET[""]; // Cria a variável conservando o seu valor atual
	}
	$inicio = $pagina - 1; // Inicia o cálcuo para determinar o início da exibição dos registros
	$inicio = $inicio * $registros; // Finaliza o cálcuo para determinar o início da exibição dos registros
	$total = mysql_query("SELECT * FROM videos", $db) or die(mysql_error()); // Realiza a consulta afim de buscar todos os registros
	$total_registros = mysql_num_rows($total); // Retorna a quantidade total de registros obtidos na consulta anterior
	$total_paginas = ceil($total_registros/$registros); // Calcua (arredondando para um valor inteiro) o total de páginas que serão usadas no sistema
	$query = mysql_query("SELECT * FROM videos ORDER BY id DESC LIMIT $inicio, $registros", $db) or die(mysql_error('Não conectado ao bd')); // Realiza a consulta segundo a variável anterior
	while ($dados = mysql_fetch_array($query)) { // Inícia o loop para a exibição dos registros, percorrendo-os sob a forma de matrizes
		$principal2 = substr($dados['nome'],0,200) . ' ...';
if ($dados['tipo'] == 'URLvideo'){
		echo "<tr height='15'> 
    				<td id='fundo'><h3 /><a href='".$dados['nome']."' target='_blank' class='sombra'>$principal2</a></td> 
                    <td><h3 />$dados[tipo]</td>
    				<td><h3 />$dados[data]</td>
					<input type=\"hidden\" value=\"$dados[nome] \" name='conteudoeditar'>
					<input type=\"hidden\" value=\"$dados[id]\" name='idvideo'>
    									
			<td><input type='image' src=\"images/icn_trash.png\" title=\"Excluir\" name='excluir' id='excluir' onclick=\"return excluir()\">
					
					
					 </td>
	</tr></form>"; // Finaliza a impressão dos resultados



// -----------------------------------------
<?php
			if($pagina > 1){ // Inicia a navegação // Se a variável pagina for maior que 1
        $anterior = $pagina - 1; // Cria a variável responsável por voltar na navegação
        echo "<a href=\"?p=editarmidias&pagina=$anterior\"><< ANTERIOR</a> |"; // Imprime o comando para voltar na navegação
    }
    echo " PÁGINA $pagina DE $total_paginas "; // Imprime a mensagem de página atual na navegação
    if($pagina < $total_paginas) { // Ou // Se a variável pagina for menor que o número total de paginas
      $proxima = $pagina + 1; // Cria a variável responsável por avançar na navegação
      echo " | <a href=\"?p=editarmidias&pagina=$proxima\" >PRÓXIMA >></a>"; // Imprime o comando para avançar na navegação
    
	};?>

Se alguem responder, e puder me explicar o porque eu agradeço, senao apenas responder eu tento estudar o caso!

Obrigado desde ja!

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.