Problema com Paginação de Resultados com Filtro
<form name="formfiltro" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<label>Status:</label>
<input name="pago" id="pago" type="radio" value="P"/>Pago
<input name="pago" id="pago" type="radio" value="A"/>Em Aberto
<label>Vencimento Entre:</label>
<input name="vencimentoinicio" id="vencimentoinicio" type="text" size="10" maxlength="10" />Início
<input name="vencimentofim" id="vencimentofim" type="text" size="10" maxlength="10" />Fim
<label>Tipo:</label>
<input name="tipo" id="tipo" type="radio" value="F"/>Fiscal
<input name="tipo" id="tipo" type="radio" value="N"/>Não Fiscal
<label>Tipo da Despesa:</label>
<select name="tipo_despesas" class="input">
<option selected="selected" value="">Selecione o Tipo</option>
<option value="I">Despesas da Imobiliária</option>
<option value="S">Seguro Incêndio</option>
<option value="D">Pagamento de Descontos</option>
<option value="P">Pagamentos Diversos</option>
<option value="C">Pagamento Comissão Corretor</option>
</select>
<input name="enviar" type="image" value="submit" src="img/ok.png" align="middle" width="32" height="32" />
</form>
Dados do Filtro
//Recebendo os parâmetros do filtro
$pago = $_POST['pago'];
$tipo = $_POST['tipo'];
$vencimentoinicio = $_POST['vencimentoinicio'];
$vencimentofim = $_POST['vencimentofim'];
$tipo_despesas = $_POST['tipo_despesas'];
//Verificando se estão vazios ou não
if(!empty($pago)){
$whx1 = " AND status = '$pago'";
}
if(!empty($vencimentoinicio)){
$whx2 = " AND data_vencimento BETWEEN '$vencimentoinicio' AND '$vencimentofim'";
}
if(!empty($tipo)){
$whx3 = " AND tipo_valor = '$tipo'";
}
if(!empty($tipo_despesas)){
$whx4 = " AND tipo_despesas = '$tipo_despesas'";
}Realizando a Sql e Paginação
// Query
$busca = "SELECT * FROM tb_despesas WHERE id != '' $whx1 $whx2 $whx3 $whx4";
$total_reg = "30"; // Total de Registros por página
$page = $_GET['page']; // Pega a página via GET
if(!$page){$page = "1"; // Se for vazio recebe 1
}
$inicio = $page-1;
$inicio = $inicio*$total_reg;$limite = mysql_query("$busca LIMIT $inicio,$total_reg"); // Limita a busca
$todos = mysql_query("$busca");
$tr = mysql_num_rows($todos);
$tp = ceil($tr / $total_reg);
// Função da paginação
//Link pra página anterior
if($page > 1){
$anterior = $page -1;
$url = "?page=$anterior";
echo "<li><a href='$url' class='pag_nav'><span><span>Anterior<span/></span></a></li>";
}else {
echo "<li><a href='#' class='current_page'><span><span>Anterior</span></span></a></li>";
}
// Link para próxima página
if($tp > $page){
$proxima = $page +1;
$url = "?page=$proxima";
echo "<li><a href='$url' class='pag_nav'><span>Próxima </span></a></li>";
} else {
echo "<li><a href='#' class='current_page'><span>Próxima</span></a></li>";
}
//Quantidade das páginas de acordo com os registros filtrados
for($i=1; $i<$page; $i++)
if($i>=$page-5)
echo "<li><a href='?page=$i'><span>$i</span></a><li>";
echo "<a href='#' class='current_page'><span>$page</span></a></li> ";
for($i=$page+1; $i<=$tp; $i++)
if($i<=$page+5)
echo " <li> <a href='?page=$i'>$i</a></li>";
O problema que ocorre é o seguinte, ele realiza a filtragem corretamente mas quando passo para a próxima página o filtro não continua, como faço pra passar esse filtro via GET na URL pra funcionar a paginação com esse filtro?
Discussão (7)
Carregando comentários...