Luan2016 0 Denunciar post Postado Outubro 7, 2015 olá, sou iniciante nesta areá, estou desenvolvendo um site imobiliário e estou com um problema na paginação de resultados do filtro, o código esta fazendo a paginação, só que quando clico na primeira pagina estou perdendo o resultado da pesquisa, e retorna todo o resultado que tem no banco, o script esta abaixo, se alguém puder me ajudar por favor . <div id="pagina"> <h1>categoria</h1> <table width="100%" border="0" cellpadding="3" cellspacing="2" bordercolor="#666666";> <tr style="color:#005789; font-variant:small-caps; font:14px 'Trebuchet MS', Arial, Helvetica, sans-serif;"> <td height="30" align="center" bgcolor="e0e0e0"><strong>Ilustração</strong></td> <td align="center" bgcolor="e0e0e0"><strong>Operação</strong></td> <td align="center" bgcolor="e0e0e0"><strong>Local/M²</strong></td> <td align="center" bgcolor="e0e0e0"><strong>Comodos</strong></td> <td align="center" bgcolor="e0e0e0"><strong>Data do Anúncio</strong></td> <td align="center" bgcolor="e0e0e0"><strong>Referência</strong></td> <td align="center" bgcolor="e0e0e0"><strong>Acessar</strong></td> </tr> <?php include"Connections/config.php"; $pg = "$_GET[pag]"; if($pg >= '1'){ $pg = $pg; }else{ $pg = '1'; } $quantidade = '1'; //RESULTADOS POR PÁGINA $inicio = ($pg * $quantidade) - $quantidade; $tipo = $_POST['tipo']; $categoria = $_POST['categoria']; $cidade = $_POST['cidade']; $bairro = $_POST['bairro']; $dataVal = date('Y-m-d H:m:s'); $sql = 'SELECT * FROM up_imoveis WHERE imovelTermino >= :dataVal AND imovelNegocio LIKE :tipo AND imovelTipo LIKE :categoria AND imovelCidade LIKE :cidade AND imovelBairro LIKE :bairro ORDER BY imovelId DESC LIMIT '.$inicio.','.$quantidade; try{ $query = $conecta->prepare($sql); $query->bindValue(':dataVal',$dataVal,PDO::PARAM_STR); $query->bindValue(':tipo','%'.$tipo.'%',PDO::PARAM_STR); $query->bindValue(':categoria','%'.$categoria.'%',PDO::PARAM_STR); $query->bindValue(':cidade','%'.$cidade.'%',PDO::PARAM_STR); $query->bindValue(':bairro','%'.$bairro.'%',PDO::PARAM_STR); $query->execute(); $resultado = $query->fetchAll(PDO::FETCH_ASSOC); $totalRegistros = $query->rowCount(PDO::FETCH_ASSOC); echo $resultado[0][0 ]; }catch(PDOexception $error_imovels){ echo 'Erro ao selecionar os imoves!'; } foreach($resultado as $res){ $imovelId =$res['imovelId']; $imovelTipo = $res['imovelTipo']; $negocio = $res['imovelNegocio']; $imovelCidade = $res['imovelCidade']; $valor = $res['imovelValor']; $thumb = $res['imovelThumb']; $area = $res['imovelArea']; $comodos = $res['imovelComodos']; $data = $res['imovelCadastro']; $imovelRef = $res['imovelRef']; echo '<tr>';echo '<td align="center" bgcolor="#F0F0F0"><a href="index.php?pg=single&imovel='.$imovelId.'"><img src="timthumb.php?src=midias/'.$thumb.'&h=90&w=110&zc=1" alt="'.$titulo.'" title="'.$titulo.'" border="0" /></a></td>'; echo'<td align="center" bgcolor="f0f0f0"><a href="index.php?pg=single&imovel='.$imovelId.'">Operação: '.$negocio.'</a></td>'; echo' <td align="center" bgcolor="f0f0f0"><a href="index.php?pg=single&imovel='.$imovelId.'">'.$area.'m² em '.$imovelCidade.'</a></td>'; echo '<td align="center" bgcolor="#F0F0F0"><a href="index.php?pg=single&imovel='.$imovelId.'">'.$comodos.' Comodos</a></td>'; echo '<td align="center" bgcolor="#F0F0F0"><a href="index.php?pg=single&imovel='.$imovelId.'">'.date('d/m/Y',strtotime($data)).'</a></td>'; echo '<td align="center" bgcolor="#F0F0F0"><a href="index.php?pg=single&imovel='.$imovelId.'">Nº da Ref '.$imovelRef.'</a></td>'; echo '<td align="center" bgcolor="#F0F0F0"><a href="index.php?pg=single&imovel='.$imovelId.'" class="veja_mais">Veja Mais</a></td>'; echo '</tr>'; } ?> </table> <!-- inicio botoes --> <?php if(isset($_POST['tipo']) && isset($_POST['categoria']) && isset($_POST['cidade']) && isset($_POST['bairro'])){ $sql = "SELECT imovelNegocio FROM up_imoveis WHERE imovelTermino >= '".$dataVal."' AND imovelNegocio = '".$tipo."' AND imovelTipo = '".$categoria."' AND imovelCidade = '".$cidade."' AND imovelBairro = '".$bairro."' ORDER BY imovelId DESC "; } if(isset($_POST['tipo']) ){ echo $sql = "SELECT imovelNegocio FROM up_imoveis WHERE imovelTermino >= '".$dataVal."' AND imovelNegocio = '".$tipo."' "; } else{ $sql = " SELECT * FROM up_imoveis WHERE imovelTermino >= '".$dataVal."'"; } try{ $query_pegaAtivos = $conecta->prepare($sql); $query_pegaAtivos->execute(); echo $totalRegistros = $query_pegaAtivos->rowCount(PDO::FETCH_ASSOC); }catch(PDOException $e){ echo $e; } if($totalRegistros <=$quantidade){} else{ $paginas = ceil($totalRegistros/$quantidade); $links = 5; if(isset($i)){} else{$i = '1';} ?> <div class="paginas"> <?php echo "<a href=\"index.php?pg=filtro&tipo=$tipo&pag=1\">Primeira Página</a> "; for ($i = $pag-$links; $i <= $pag-1; $i++){ if ($i <= 0){ }else{ echo"<a href=\"index.php?pg=filtro&pag=$i\">$i</a> "; } }echo "$pag "; for($i = $pag +1; $i <= $pag+$links; $i++){ if($i > $paginas){ }else{ echo "<a href=\"index.php?pg=filtro&pag=$i\">$i</a> "; } } echo "<a href=\"index.php?pg=filtro&pag=$paginas\">Última página</a> "; ?> </div><!-- fecha paginas--> <?php } ?> <!-- botoes paginação --> <h1>Resualtados de sua pesquisa: <strong style="color:#930"> <?php echo $totalRegistros ;?> imóveis encontrados</strong></h1> </div><!-- fecha pagina--> Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Outubro 7, 2015 Basta ler o seu script: echo"<a href=\"index.php?pg=filtro&pag=$i\">$i</a> "; Em nenhum lugar você está passando os itens do filtro, você terá que passar todos os itens na querystring, ou salvar em uma sessão ou algo do tipo. Compartilhar este post Link para o post Compartilhar em outros sites
Luan2016 0 Denunciar post Postado Outubro 7, 2015 algo parecido assim ? echo "<a href=\"index.php?pg=filtro&tipo=$tipo&categoria=$categoria&cidade=$cidade&bairro=$bairro&pag=$paginas\">Última página</a> "; e ter que usar uma sessão ? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Outubro 7, 2015 Eu disse "passar todos os itens na querystring, ou salvar em uma sessão ou algo do tipo", se você vai passar todos os itens na querystring, o uso de sessões para guarda-los seria desnecessário, qual escolher? Ai depende do que você estruturou para o seu sistema. Compartilhar este post Link para o post Compartilhar em outros sites