Ir para conteúdo
Paulo Tuan

PROBLEMAS NA PAGINAÇÃO

Recommended Posts

Ola pessoal boa noite.. em meu sistema de busca estou tendo um pequeno problemas nele

o arquivo buscar ele funcionar de boa, mais quando é mostrado a paginação quando clico pra ir pra pagina 2, quando vou clicar pra ir ou voltar para a pagina 1 ele da um 

multiplicação no chamado

Até esta busca esta ok  

localhost/LOJA/produto?lc=roupas

// AQUI TBM esta de boa
       No caso aqui o 2 é a paginação
localhost/LOJA/produto/2/roupas

Mas aqui e esta o problemas

Esta aqui quando vou mudar pra outra pagina ou quando vou voltar pra 1 pagina

localhost/LOJA/buscar/2/buscar/2/roupas.php/2/roupas

No caso era pra continuar sempre mostrando esta mesma forma de paginação

 

localhost/LOJA/buscar/2/roupas

localhost/LOJA/buscar/3/roupas

localhost/LOJA/buscar/4/roupas

 

Outra coisa também quero fazer que a paginação selecione o botão do numero que foi clicado ou seja na paginação que esta ativa e não consegui tbm..

 

Meu codigo esta assim

 

//Verificar se está sendo passado na URL a página atual, senao é atribuido a pagina 
$pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1;
if(!isset($_GET['lc'])){
	header("Location: index.php");
}else{
	$valor_pesquisar = $_GET['lc'];
}


//Selecionar todos os cursos da tabela
$result_produtos = "SELECT * FROM prod WHERE status = 'S' OR titulo LIKE '%$valor_pesquisar%' OR categoria LIKE '%$valor_pesquisar%'";
$resultado_produtos = mysqli_query($conn, $result_produtos);

//Contar o total de produtos
$total_produtos = mysqli_num_rows($resultado_produtos);

//Seta a quantidade de cursos por pagina
$quantidade_pg = 45;

//calcular o número de pagina necessárias para apresentar os cursos
$num_pagina = ceil($total_produtos/$quantidade_pg);

//Calcular o inicio da visualizacao
$incio = ($quantidade_pg*$pagina)-$quantidade_pg;
//	mysqli_set_charset($conn,"utf8");
	
//Selecionar os cursos a serem apresentado na página
$result_produtos = "SELECT * FROM prod WHERE status = 'S' OR titulo LIKE '%$valor_pesquisar%' OR categoria LIKE '%$valor_pesquisar%'  order by id limit $incio, $quantidade_pg";
$resultado_produtos = mysqli_query($conn, $result_produtos);
$total_produtos = mysqli_num_rows($resultado_produtos);
	?>
			<section class="pv-60">
			
				<div class="container">
				

					<div class="category-item-02-wrapper GridLex-gap-10">
			
						<div class="GridLex-grid-noGutter-equalHeight">
						    
	<?php while($dados = mysqli_fetch_assoc($resultado_produtos)){ 
	$id = $dados['id'];
	$titulo = $dados['titulo'];
	$imagem = $dados['imagem'];
	$valor = $dados['valor'];
	
	?>
<br />
							<div class="GridLex-col-2_mdd-3_sm-3_xs-4_xss-6">
					
								<div class="category-item-01">
								    <?php if ($nova_guia == 'S') { ?>
									<a href="<?php echo ConfigPainel('site_url'); ?>/LOJA/job_produtos/<?php echo $id; ?>-<?php echo encodeSEOString($dados['titulo']); ?>">
										<?php } ?>
											<img src="<?php echo ConfigPainel('site_url'); ?>/LOJA/wa/produto/logo/<?php echo $imagem; ?>" alt="Image" />
										
										<h6><?php echo $categoria; ?></h6>
										<p><?php echo $valor; ?></p>
                                      <button class="primary" id="comprar">Comprar</button>
									</a>
								</div>
								
							</div>
<?php 

}

 ?>			

							
						</div>
								<?php
				//Verificar a pagina anterior e posterior
				$pagina_anterior = $pagina - 1;
				$pagina_posterior = $pagina + 1;
			?>

					</div>

				</div>
						<div class="clear mb-30"></div>
							
							<div class="pager-wrapper">
			
								<div class="pager-inner">						
									<div class="pager-middle-holder">
						<nav class="text-center">
				<ul class="pagination">
					<li>
						<?php
						if($pagina_anterior != 0){ ?>
							<a href="./buscar/<?php echo $pagina_anterior; ?>/<?php echo $valor_pesquisar; ?>" aria-label="Previous">
								<span aria-hidden="true">&laquo;</span>
							</a>
						<?php }else{ ?>
							<span aria-hidden="true">&laquo;</span>
					<?php }  ?>
					</li>
					<?php 
					//Apresentar a paginacao
					for($i = 1; $i < $num_pagina + 1; $i++){ ?>
						<li><a href="./buscar/<?php echo $i; ?>/<?php echo $valor_pesquisar; ?>"><?php echo $i; ?></a></li>
					<?php } ?>
					<li>
						<?php
						if($pagina_posterior <= $num_pagina){ ?>
							<a href="./buscar/<?php echo $pagina_posterior; ?>/<?php echo $valor_pesquisar; ?>" aria-label="Previous">
								<span aria-hidden="true">&raquo;</span>
							</a>
						<?php }else{ ?>
							<span aria-hidden="true">&raquo;</span>
					<?php }  ?>
					</li>
				</ul>
			</nav>
									</div>
								</div>
							
							</div>

							
						</div>				
			</section>

  Se puderem me dar uma força ai me dizer no que esta errado fico grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Paulo, tudo bem? Espero que sim!

 

Em questão ao redirecionamento, o problema creio que está em seu httaccess. Se puder postar o código, ficará mais fácil lhe ajudar.

Para selecionar a página atual basta colocar uma IF.

Conseguirá fazer de diversas formas, criando uma função para chamar as páginas e verificando dentro dela qual é a atual ou até mesmo fazendo dentro do seu for.

for($i = 1; $i < $num_pagina + 1; $i++){

 if($pagina == $i) {

  // Pagina atual

 }else {

  // Não é página atual

 }

}

 

Abraços, Wictor Pamplona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola @WictorP boa tarde bom meu htaccess esta assim

 

# Redirecionar para HTTPS WC
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


	
DirectoryIndex home.php
ErrorDocument 404
#-------------------------------------------------------------------
# PERMISSIONANDO REESCRITA
#-------------------------------------------------------------------
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f

#-------------------------------------------------------------------
# EXTENSAO PHP
#-------------------------------------------------------------------
RewriteRule ^(.*)$ $1.php


#-------------------------------------------------------------------
# URL AMIGAVEL
#-------------------------------------------------------------------
 RewriteRule ^produtos\/([A-z,0-9]+)\/?(.+)\/?$ produtos.php?id=$1&nome=$2 [QSA,L,NC]
RewriteRule ^sobre\/?([a-z]+)\/?(.+)\/?$ sobre.php  [NC,L]
RewriteRule ^home\/?([a-z]+)\/?(.+)\/?$ home.php  [NC,L]
RewriteRule ^termos\/?([a-z]+)\/?(.+)\/?$ termos.php  [NC,L]
RewriteRule ^login\/?([a-z]+)\/?(.+)\/?$ login.php  [NC,L]
RewriteRule ^cadastrar\/?([a-z]+)\/?(.+)\/?$ cadastrar.php  [NC,L]
RewriteRule ^contato\/?([a-z]+)\/?(.+)\/?$ contato.php  [NC,L]
 RewriteRule ^buscar\/?([0-9A-z]+)\/?(.+)\/?$ buscar.php?pagina=$1&lc=$2 [QSA,L,NC]

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.