Ir para conteúdo

Arquivado

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

Hamon

Páginação pegando filtro errado

Recommended Posts

Pessoal, tava tudo certo até eu adicionar paginação na minha página, é o seguinte, quando eu clico em qualquer numero da paginação já na tela inicial ele muda a váriavel $mes pra "fevereiro", mesmo ela não setada.

 

ALGUEM AJUDA?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mostrar Caixa</title>

<link href="../jquery/Simple-Flexible-jQuery-Dropdown-Menu-Plugin-Dropit/dropit.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../jquery/jquery-2.2.0.js"></script>
<script type="text/javascript" src="../jquery/Simple-Flexible-jQuery-Dropdown-Menu-Plugin-Dropit/dropit.js"></script>

	<script>

		$(document).ready(function() {
		$('#meses').dropit();
		});

	</script>
	<script>

		$(document).ready(function() {
		$('#ordem').dropit();
		});

	</script>

<style>
			.menu ul {
display: none;
} /* Hide before plugin loads */
.menu ul.dropit-submenu {
background-color: #fff;
border: 1px solid #b2b2b2;
padding: 6px 0;
margin: 3px 0 0 1px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: 0px 1px 3px rgba(0,0,0,0.15);
-moz-box-shadow: 0px 1px 3px rgba(0,0,0,0.15);
box-shadow: 0px 1px 3px rgba(0,0,0,0.15);
}
.menu ul.dropit-submenu a {
display: block;
font-size: 14px;
line-height: 25px;
color: #7a868e;
padding: 0 18px;
}
.menu ul.dropit-submenu a:hover {
background: #248fc1;
color: #fff;
text-decoration: none;
}


			table {border:1px black solid;}	
			table td {text-align:center; border:1px black solid;}

span {color:#3267A7; font:20px Calibri; font-weight:bold;}			
		</style>
</head>

<body>

		<h1>Mostrar Caixa</h1>

       
        	<table>
            <tr>
            	<td>ID</td>
                <td>Data</td>
                <td>Mes</td>
                <td>Vendedor</td>
                <td>Produto</td>
                <td>Quantidade</td>
                <td>Entrada</td>
                <td>Saida</td>
            </tr>
            
            <form action="search_caixa.php" method="post" name="search_caixa">
            	Pesquisa por data: <input type="text" placeholder="Pesquise uma data" name="pesquisa" required/>   <input type="submit" name="btn_pesquisar" value="Pesquisar" />
            </form>
            
            
<?php
	
			session_start();
			include "../conexao.inc";
			
				
				
			
			//VARIAVEIS QUANDO A PESSOA ENTRA NA PAGINA E TESTE PARA VER SE A PESSOA JÁ PEGOU ALGUM FILTRO DE ORDEM
			
	 
		
						
			//TESTA E ARMAZENA EM SESSION OQ FOI PEGO PELA VÁRIAVEL MES		
			
			
			
			if(isset($_GET['ordem'])){
				@$ordem=$_GET['ordem'];
				$_SESSION['ordem']=$ordem;
				
				}else{
					
					$ordem="ASC";
				}
				if(isset($_GET['mes'])){
					
					@$mes=$_GET['mes'];
					$_SESSION['mes']=$mes;
					}else {
						
						$mes="1";
						$_SESSION['mes']=$mes;
					}

	
			
			
			//SELEÇÃO DE MES
			echo "<ul id='meses' class='menu'>";
			echo "<li><a href='#' class='btn'>Meses</a>";
			echo "<ul>";
			echo	"<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=2'>Mostrar tudo</a></li>";
			echo	"<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=janeiro'>Janeiro</a></li>";
            echo    "<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=fevereiro'>Fevereiro</a></li>";
            echo    "<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=marco'>Março</a></li>";
            echo    "<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=abril'>Abril</a></li>";
            echo    "<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=maio'>Maio</a></li>";
            echo    "<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=junho'>Junho</a></li>";
            echo    "<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=julho'>Julho</a></li>";
            echo     "<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=agosto'>Agosto</a></li>";
            echo     "<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=setembro'>Setembro</a></li>";
            echo    " <li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=outubro'>Outubro</a></li>";
            echo     "<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=novembro'>Novembro</a></li>";
            echo     "<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=dezembro'>Dezembro</a></li>";
			echo	"</ul>";
			echo	"</li>";
			echo	"</ul>";
			
            	
				//OPÇOES DE FILTRO ORDENADO POR
				echo "<ul id='ordem' class='menu'>";
				echo "<li><a href='#' class='btn'>Ordenar Por</a>";
				echo "<ul>";
				echo "<li><a href='caixa.php?pagina=$i&ordem=DESC&mes=$mes'>ID decrescente</a></li>";
				echo "<li><a href='caixa.php?pagina=$i&ordem=ASC&mes=$mes'>ID crescente</a></li>";
				echo "<li><a href='caixa.php?pagina=$i&ordem=DATA_ASC&mes=$mes'>Data decrescente</a></li>";
				echo "<li><a href='caixa.php?pagina=$i&ordem=DATA_DESC&mes=$mes'>Data crescente</a></li>";
				echo "<li><a href='caixa.php?pagina=$i&ordem=VEND_ASC&mes=$mes'>Vendedor A - Z</a></li>";
				echo "<li><a href='caixa.php?pagina=$i&ordem=VEND_DESC&mes=$mes'>Vendedor Z - A</a></li>";
				echo "</ul>";
				echo "</li>";
				echo "</ul>";
			
			//ARMAZEA EM SESSION A VARIAVEL MES
				
				
				
					
	//verifica a página atual caso seja informada na URL, senão atribui como 1ª página
        $pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1;
 
    
	//seleciona todos os itens da tabela


					if($mes == "janeiro"){
							
							$mes="mes='janeiro'";
							 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
   
							 
   
						}
					elseif($mes == "fevereiro"){
							
							$mes="mes='fevereiro'";
							 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
							
						
						}
					elseif($mes == "marco"){
							
							$mes="mes='marco'";
							 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
						
						}
					elseif($mes == "abril"){
							
							$mes="mes='abril'";
						 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
						}
					elseif($mes == "maio"){
							
							$mes="mes='maio'";
						 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
						}
					elseif($mes == "junho"){
							
							$mes="mes='junho'";
						 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
						}
					elseif($mes == "julho"){
							
							$mes="mes='julho'";
						 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
						}	
					elseif($mes == "agosto"){
							
							$mes="mes='agosto'";
						 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
						}
					elseif($mes == "setembro"){
							
							$mes= "mes='setembro'";
						 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
						}
					elseif($mes == "outubro"){
							
							$mes="mes='outubro'";
						 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
						}
					elseif($mes == "novembro"){
							
							$mes="mes='novembro'";
						 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
						}
					elseif($mes == "dezembro"){
							
							$mes="mes='dezembro'";
						 $cmd = "select * from tb_caixa WHERE $mes";
       						 $produtos = mysqli_query($con,$cmd);
						}
					elseif($mes == '2'){
						$mes=1;
						 $cmd = "select * from tb_caixa";
       						 $produtos = mysqli_query($con,$cmd);
						}else{
							$cmd = "select * from tb_caixa";
       						 $produtos = mysqli_query($con,$cmd);
							}			
													
 //conta o total de itens
        $total = mysqli_num_rows($produtos);
   
    //seta a quantidade de itens por página, neste caso, 2 itens
        $registros = 20;
   
    //calcula o número de páginas arredondando o resultado para cima
        $numPaginas = ceil($total/$registros);
   
    //variavel para calcular o início da visualização com base na página atual
        $inicio = ($registros*$pagina)-$registros;
 


												
							
				
				//VE SE A VARIAVEL ORDEM FOI CLICADA OU NAO	
					if(isset($ordem)){
						
						//TESTES PARA ORDENAR POR ID DECRECENTE OU CRESCENTE
						if($ordem == "DESC"){
							$sql1="SELECT * FROM tb_caixa WHERE $mes ORDER BY id DESC LIMIT $inicio,$registros";
							$comando=mysqli_query($con,$sql1);
							
							echo "<br/><span>Ordenando por ID Decrescente</span><br/><br/>";
								
							while ($escreve=mysqli_fetch_array($comando)){
							
								$id=$escreve['id'];
								$data=$escreve['data'];
								$mes=$escreve['mes'];
								$vendedor=$escreve['vendedor'];
								$produto=$escreve['produto'];
								$quantidade=$escreve['quantidade'];
								$entrada=$escreve['entrada'];
								$saida=$escreve['saida'];
								$entrada2=number_format($entrada,2,",",".");
								$saida2=number_format($saida,2,",",".");
								
								
							
									echo "<tr><td>$id</td><td>$data</td><td>$mes</td><td>$vendedor</td><td>$produto</td><td>$quantidade</td><td>$entrada2</td><td>$saida2</td></tr>";
						}
					} if($ordem == "ASC"){
							
							$sql1="SELECT * FROM tb_caixa WHERE $mes ORDER BY id ASC LIMIT $inicio,$registros ";
							$comando=mysqli_query($con,$sql1);
							
							echo "<br/><span>Ordenando por ID Crescente</span><br/><br/>";
							
							while ($escreve=mysqli_fetch_array($comando)){
							
								$id=$escreve['id'];
								$data=$escreve['data'];
								$mes=$escreve['mes'];
								$vendedor=$escreve['vendedor'];
								$produto=$escreve['produto'];
								$quantidade=$escreve['quantidade'];
								$entrada=$escreve['entrada'];
								$saida=$escreve['saida'];
								$entrada2=number_format($entrada,2,",",".");
								$saida2=number_format($saida,2,",",".");
							
									echo "<tr><td>$id</td><td>$data</td><td>$mes</td><td>$vendedor</td><td>$produto</td><td>$quantidade</td><td>$entrada2</td><td>$saida2</td></tr>";
						}
					}
						//TESTA PARA ORDENAR POR ODEM CRECENTE OU DECRESCENTE
						if($ordem == "DATA_DESC"){
							$sql1="SELECT * FROM tb_caixa WHERE $mes ORDER BY data DESC LIMIT $inicio,$registros ";
							$comando=mysqli_query($con,$sql1);
							
							echo "<br/><span>Ordenando por Data Decrescente</span><br/><br/>";
							
							while ($escreve=mysqli_fetch_array($comando)){
								$id=$escreve['id'];
								$data=$escreve['data'];
								$mes=$escreve['mes'];
								$vendedor=$escreve['vendedor'];
								$produto=$escreve['produto'];
								$quantidade=$escreve['quantidade'];
								$entrada=$escreve['entrada'];
								$saida=$escreve['saida'];
								$entrada2=number_format($entrada,2,",",".");
								$saida2=number_format($saida,2,",",".");
							
									echo "<tr><td>$id</td><td>$data</td><td>$mes</td><td>$vendedor</td><td>$produto</td><td>$quantidade</td><td>$entrada2</td><td>$saida2</td></tr>";
							}
						}
						
						if($ordem == "DATA_ASC"){
							$sql1="SELECT * FROM tb_caixa WHERE $mes ORDER BY data ASC LIMIT $inicio,$registros ";
							$comando=mysqli_query($con,$sql1);
							
							echo "<br/><span>Ordenando por Data Crescente</span><br/><br/>";
							
							while ($escreve=mysqli_fetch_array($comando)){
							
								$id=$escreve['id'];
								$data=$escreve['data'];
								$mes=$escreve['mes'];
								$vendedor=$escreve['vendedor'];
								$produto=$escreve['produto'];
								$quantidade=$escreve['quantidade'];
								$entrada=$escreve['entrada'];
								$saida=$escreve['saida'];
								$entrada2=number_format($entrada,2,",",".");
								$saida2=number_format($saida,2,",",".");
							
									echo "<tr><td>$id</td><td>$data</td><td>$mes</td><td>$vendedor</td><td>$produto</td><td>$quantidade</td><td>$entrada2</td><td>$saida2</td></tr>";
								}	
							}
						if($ordem == "VEND_ASC"){
							$sql1="SELECT * FROM tb_caixa WHERE $mes ORDER BY vendedor ASC LIMIT $inicio,$registros";
							$comando=mysqli_query($con,$sql1);
							
							echo "<br/><span>Ordenando por Vendedor A - Z</span><br/><br/>";
							
							while ($escreve=mysqli_fetch_array($comando)){
							
								$id=$escreve['id'];
								$data=$escreve['data'];
								$mes=$escreve['mes'];
								$vendedor=$escreve['vendedor'];
								$produto=$escreve['produto'];
								$quantidade=$escreve['quantidade'];
								$entrada=$escreve['entrada'];
								$saida=$escreve['saida'];
								$entrada2=number_format($entrada,2,",",".");
								$saida2=number_format($saida,2,",",".");
							
									echo "<tr><td>$id</td><td>$data</td><td>$mes</td><td>$vendedor</td><td>$produto</td><td>$quantidade</td><td>$entrada2</td><td>$saida2</td></tr>";
								}	
							}
						if($ordem == "VEND_DESC"){
							$sql1="SELECT * FROM tb_caixa WHERE $mes ORDER BY vendedor DESC LIMIT $inicio,$registros ";
							$comando=mysqli_query($con,$sql1);
							
							echo "<br/><span>Ordenando por Vendedor Z - A </span><br/><br/>";
							
							while ($escreve=mysqli_fetch_array($comando)){
							
								$id=$escreve['id'];
								$data=$escreve['data'];
								$mes=$escreve['mes'];
								$vendedor=$escreve['vendedor'];
								$produto=$escreve['produto'];
								$quantidade=$escreve['quantidade'];
								$entrada=$escreve['entrada'];
								$saida=$escreve['saida'];
								$entrada2=number_format($entrada,2,",",".");
								$saida2=number_format($saida,2,",",".");
							
									echo "<tr><td>$id</td><td>$data</td><td>$mes</td><td>$vendedor</td><td>$produto</td><td>$quantidade</td><td>$entrada2</td><td>$saida2</td></tr>";
								}	
							}
					//SE A VARIAVEL ORDEM NAO EXISTIR MOSTRA TODOS OS ITENS		
					}else{

						$sql2="SELECT * FROM tb_caixa SELECT * FROM tb_caixa WHERE $mes ORDER BY vendedor DESC LIMIT $inicio,$registros ";
						$comando=mysqli_query($con,$sql2);
							while($escreve=mysqli_fetch_array($comando)){
							
								$id=$escreve['id'];
								$data=$escreve['data'];
								$mes=$escreve['mes'];
								$vendedor=$escreve['vendedor'];
								$produto=$escreve['produto'];
								$quantidade=$escreve['quantidade'];
								$entrada=$escreve['entrada'];
								$saida=$escreve['saida'];
								$entrada2=number_format($entrada,2,",",".");
								$saida2=number_format($saida,2,",",".");
							
									echo "<tr><td>$id</td><td>$data</td><td>$mes</td><td>$vendedor</td><td>$produto</td><td>$quantidade</td><td>$entrada2</td><td>$saida2</td></tr>";
							}
						}
						

//exibe a paginação
			
        for($i = 1; $i < $numPaginas + 1; $i++) {
			 
             echo "<a href='caixa.php?pagina=$i&ordem=$ordem&mes=$mes'>".$i."</a> ";
			 
        }
			
?>
            </table>		
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Detalhe melhor o seu problema.

Em relação ao código abaixo, o valor "&mes=2" não está interferindo na consulta (Mês de Fevereiro, mês 2 do ano)?

echo	"<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=2'>Mostrar tudo</a></li>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele entra na pagina tudo ok, mostrando todos os registros agora, se eu clicar em qualquer uma dos numeros da paginação, ele torna la na url o valor do mes=favereiro, sozinho, sem cliclar nos filtros.E não, não ta interferindo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer algumas alterações:

Troque

$ordem=$_GET['ordem'];
$mes=$_GET['mes'];
echo	"<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=2'>Mostrar tudo</a></li>";

Por

$ordem=$_REQUEST['ordem'];
$mes=$_REQUEST['mes'];
echo	"<li><a href='caixa.php?pagina=$i&ordem=$ordem&mes=""'>Mostrar tudo</a></li>";

E vê o que acontece.

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.