Ir para conteúdo

POWERED BY:

Arquivado

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

Pablo Gates

[Resolvido] Fazer essa paginação não dar refresh

Recommended Posts

	<ul class="view-crud">
		<?php
			include"includes/config.php";
			Conectar();

			//infos. da query
			$campos_query = "*";
			$final_query  = "FROM galerias ORDER BY id DESC";

			//limite de resultados por página
			$maximo = 12;

			//declara a página inicial
			$pagina = $_GET["pagina"];
			if($pagina == "") {
			    $pagina = "1";
			}

			//calcula o registro inicial
			$inicio = $pagina - 1;
			$inicio = $maximo * $inicio;

			//conta todos os resultados da query
			$strCount = "SELECT COUNT(*) AS 'num_registros' $final_query";
			$query = mysql_query($strCount);
			$row = mysql_fetch_array($query);
			$total = $row["num_registros"];

			//inicio da exibição

			//executando a query
			$sql = mysql_query("SELECT $campos_query $final_query LIMIT $inicio,$maximo");

			//exibir valores
			while ($linha = mysql_fetch_object($sql)) {
				echo'<li>';
					echo'<div class="view-con">';
						echo'<span><strong>Galeria:</strong>'.$linha->idgaleria.'</span>';
					echo'</div>';

					echo'<a href="javascript:func()" onclick="delgal('.$linha->id.')" class="btn_del">Excluir</a>';
				echo'</li>';
			}

			//fim da exibição

			$menos = $pagina - 1;
			$mais = $pagina + 1;

			$pgs = ceil($total / $maximo);

			if($pgs > 1 ) {

				echo "<br />";
				echo '<div class="paginacao">';

			    //mostrar numero de paginas
			    if($menos > 0) {
					echo "<a href=".$_SERVER['PHP_SELF']."?pagina=$menos>anterior</a>";
			    }

			    //listar paginas
				for($i=1;$i <= $pgs;$i++) {
					if($i != $pagina) {
						echo " <a href=".$_SERVER['PHP_SELF']."?pagina=".($i).">$i</a>";
					} else {
						echo " <span class='pgatual'>".$i."</span>";
					}
				}

				if($mais <= $pgs) {
					echo " <a href=".$_SERVER['PHP_SELF']."?pagina=$mais>próxima</a>";
						}
					}
				echo'</div>';
		?>
	</ul>

 

Tentei com o ajax dessa forma mas acho que está incorreto

 

$(document).ready(function(){

//executa o evento Click em todos os links do menu

$('.view-crud a').live('click', function() {

$('.view-crud').load($(this).attr('href'));

return false;

});

});

 

 

Preciso que ao clicar nas páginas dessa páginação os links não façam refresh na página

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria dessa forma:

Nos links da paginação colocaria um onclick chamando uma função para atualizar a DIV do conteúdo.

 

onclick="updateContent(this.name)"

 

ou algo assim.

 

Na função apenas chamaria a página com o conteudo e colocaria na DIV, não sendo necessário o "$(document).ready(function(){".

 

 

Espero ter ajudado.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria dessa forma:

Nos links da paginação colocaria um onclick chamando uma função para atualizar a DIV do conteúdo.

 

onclick="updateContent(this.name)"

 

ou algo assim.

 

Na função apenas chamaria a página com o conteudo e colocaria na DIV, não sendo necessário o "$(document).ready(function(){".

 

 

Espero ter ajudado.

 

Abraços.

 

Obrigado vou ir tentando aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente usar o $.get() do jquery:

http://api.jquery.com/jQuery.get/

 

na url você poderia passar:

paginacao.php?pg=2

 

mas a paginação está sendo passada desta forma

 

http://localhost/cliente/index.php?pagina=1

 

$.get('index.php', function(data) {

$('.thumb-obras').html(data);//div em que está a paginação

alert('Carregado!');

});

 

$.get é do ajax, não sei como usar nesse caso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, vamos la.

No html, a div que ira receber o conteudo:

<div id="conteudo"></div>

 

no js:

<script>
function updateContent(page){
 $.get('index.php?pagina=' + page, function(data) {
   $('.thumb-obras').html(data);
 });
}
</script>

 

Em cada link da páginação (fora da div content) você colocaria a funcao

<a href="javascript:;" onclick="updateContent(1)">1</a>
<a href="javascript:;" onclick="updateContent(2)">2</a>
<a href="javascript:;" onclick="updateContent(3)">3</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, vamos la.

No html, a div que ira receber o conteudo:

<div id="conteudo"></div>

 

no js:

<script>
function updateContent(page){
 $.get('index.php?pagina=' + page, function(data) {
   $('.thumb-obras').html(data);
 });
}
</script>

 

Em cada link da páginação (fora da div content) você colocaria a funcao

<a href="javascript:;" onclick="updateContent(1)">1</a>
<a href="javascript:;" onclick="updateContent(2)">2</a>
<a href="javascript:;" onclick="updateContent(3)">3</a>

 

Eu só quero que troque de link da paginação dentro da propria div .thumb-obras não há necessidade de colocar o conteudo em uma nova div, a parte dos links eu não entendi

 

porque os links são assim:

 

if($pgs > 1 ) {

				echo "<br />";
				echo '<div class="paginacao">';

			    //mostrar numero de paginas
			    if($menos > 0) {
					echo "<a href=".$_SERVER['PHP_SELF']."?pagina=$menos>anterior</a>";
			    }

			    //listar paginas
				for($i=1;$i <= $pgs;$i++) {
					if($i != $pagina) {
						echo " <a href=".$_SERVER['PHP_SELF']."?pagina=".($i).">$i</a>";
					} else {
						echo " <span class='pgatual'>".$i."</span>";
					}
				}

				if($mais <= $pgs) {
					echo " <a href=".$_SERVER['PHP_SELF']."?pagina=$mais>próxima</a>";
						}
					}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso só foi um exemplo.

Você terá que chamar a função que atualiza a página nos links, ao invés de você chamar a própria pagina.

 

echo " <a href='javascript:;' onclick='updateContent({$i})'>{$i}</a>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso só foi um exemplo.

Você terá que chamar a função que atualiza a página nos links, ao invés de você chamar a própria pagina.

 

echo " <a href='javascript:;' onclick='updateContent({$i})'>{$i}</a>";

 

Certo agora entendi obrigado, mas quando clico na paginação ele duplica a pagina index :/ e fica com uma rolagem imensa e só assim a paginação funciona normalmente sem o refresh

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.