GilbertoSanchez Postado Junho 18, 2009 Denunciar Share Postado Junho 18, 2009 (editado) Olá pessoal, sou novo aquí e esse é meu primeiro pedido de ajuda, pois estou penando a quase duas semanas tentando adaptar uma paginação com 10 resultados por página no meu sistema de busca com 5 campos.A Busca funciona perfeito mas se eu tento adaptar a paginação ela para.alguém poderia me ajudar? Pode até passar orçamento. Desde já agradeço a atenção de todos.O codigo é esse:<?php include('Connections/conexao.php'); ?> <form action="teste.php" method="POST" name="busca" id="busca"> Referência: <input name="ref" class="formulario" id="ref" style="WIDTH: 160px"> <br> Tipo de Imóvel: <SELECT name="tipo" class="formulario" id="tipo" style="WIDTH: 160px"> <OPTION value="todos" selected>Todos</OPTION> <?php $sql = "select * from casa group by tipo"; $resposta = mysql_query( $sql ); while ( $linha = mysql_fetch_array( $resposta )) { ?> <option value="<?php echo $linha["tipo"];?>"><?php echo $linha["tipo"];?></option> <?php }mysql_free_result( $resposta ); mysql_close($conexao); ?> </SELECT> <br> Operação: <SELECT name="operacao" class="formulario" id="operacao" style="WIDTH: 160px"> <OPTION value="todos" selected>Todos</OPTION> <?php $sql = "select * from casa group by operacao"; $resposta = mysql_query( $sql ); while ( $linha = mysql_fetch_array( $resposta )) { ?> <option value="<?php echo $linha["operacao"];?>"><?php echo $linha["operacao"];?></option> <?php }mysql_free_result( $resposta ); mysql_close($conexao); ?> </SELECT> <br> Condomínio: <SELECT name="condominio" class="formulario" id="condominio" style="WIDTH: 160px"> <OPTION value="todos" selected>Todos</OPTION> <?php $sql = "select * from casa group by condominio"; $resposta = mysql_query( $sql ); while ( $linha = mysql_fetch_array( $resposta )) { ?> <option value="<?php echo $linha["condominio"];?>"><?php echo $linha["condominio"];?></option> <?php }mysql_free_result( $resposta ); mysql_close($conexao); ?> </SELECT> <br> Faixa de Valores: <SELECT name="cvalor" class="formulario" id="cvalor" style="WIDTH: 160px"> <OPTION value="todos" selected>Todos</OPTION> <OPTION value="a">Até R$ 200 mil</OPTION> <OPTION value="b">R$ 201 mil até R$ 400 mil</OPTION> <OPTION value="c">R$ 401 mil até R$ 600 mil</OPTION> <OPTION value="d">R$ 601 mil até R$ 800 mil</OPTION> <OPTION value="e">R$ 801 mil até R$ 1 milhão</OPTION> <OPTION value="f">Acima de R$ 1 milhão</OPTION> </SELECT> <br> <input name="Submit" type="submit" class="formulario" id="button" value="Pesquisar" /> <input name="button2" type="reset" class="formulario" id="button2" value="Limpar" /> <br> </form> <?php $num_por_pagina = 10; if (!$pagina) { $pagina = 1; } $primeiro_registro = ($pagina*$num_por_pagina) - $num_por_pagina; if ($ref != '') { $ref = $_POST['ref']; $sql = "SELECT * FROM casa where "; $sql .= "ref='$ref' "; } else { $tipo = $_POST['tipo']; $operacao = $_POST['operacao']; $condominio = $_POST['condominio']; $cvalor = $_POST['cvalor']; $cnt = 0; $sql = "SELECT * FROM casa "; if($tipo != 'todos') { $sql .= "where tipo='$tipo' "; $cnt=1; } if($operacao != 'todos') { if ($cnt==1) $sql .= "AND operacao='$operacao' "; else $sql .= "where operacao='$operacao' "; $cnt=1; } if($condominio != 'todos') { if ($cnt==1) $sql .= "AND condominio='$condominio' "; else $sql .= "where condominio='$condominio' "; $cnt=1; } if($cvalor != 'todos') { if ($cnt==1) $sql .= "AND cvalor='$cvalor' "; else $sql .= "where cvalor='$cvalor' "; } } $sql .= ("ORDER BY Id DESC LIMIT $primeiro_registro, $num_por_pagina"); { $consulta = mysql_query($sql)or die (mysql_error()); for($i=0;$result=mysql_fetch_array($consulta);$i++) { ?> <img src="imagens/casas/<?php echo $result['foto1']; ?>" width="200" border="0"/><br> <?php echo $result['condominio'];?><br> <?php echo $result['valor'];?><br> <?php echo $result['tipo'];?><br> <?php echo $result['descricao'];?> <?php echo $result['ref'];?><br> <?php } } ?> Editado Junho 18, 2009 por GilbertoSanchez Citar Link para o comentário Compartilhar em outros sites More sharing options...
Marcus Nunes Postado Junho 19, 2009 Denunciar Share Postado Junho 19, 2009 (editado) Qual o problema Gilberto?Para fazer a paginação você precisa das variáveis em GET. Editado Junho 19, 2009 por Marcus Nunes Citar Link para o comentário Compartilhar em outros sites More sharing options...
GilbertoSanchez Postado Junho 19, 2009 Autor Denunciar Share Postado Junho 19, 2009 Eu já fiz isso, mudando pra GET a paginação chegou a funcionar bem, mas a busca parou.Não sei mais oque fazer. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Marcus Nunes Postado Junho 19, 2009 Denunciar Share Postado Junho 19, 2009 Você está passando todas as variáveis nos links da paginação? ($tipo, $operacao, $condominio, $cvalor) Citar Link para o comentário Compartilhar em outros sites More sharing options...
GilbertoSanchez Postado Junho 25, 2009 Autor Denunciar Share Postado Junho 25, 2009 alguém me daria uma dica de como fazer essa busca com paginação funcionar...Já tentei um monte e estou ficando maluco com isso...<?php include('conecta.php'); ?> <form action="teste2.php" method="GET" name="busca" id="busca"> <p>Referência: <input name="ref" class="formulario" id="ref" style="WIDTH: 160px" /> <br /> Tipo de Imóvel: <select name="tipo" class="formulario" id="tipo" style="WIDTH: 160px"> <option value="todos" selected>Todos</option> <?php $sql = "select * from casa group by tipo"; $resposta = mysql_query( $sql ); while ( $linha = mysql_fetch_array( $resposta )) { ?> <option value="<?php echo $linha["tipo"];?>"><?php echo $linha["tipo"];?></option> <?php } mysql_free_result( $resposta ); mysql_close($conexao); ?> </select> <br /> Operação: <select name="operacao" class="formulario" id="operacao" style="WIDTH: 160px"> <option value="todos" selected>Todos</option> <?php $sql = "select * from casa group by operacao"; $resposta = mysql_query( $sql ); while ( $linha = mysql_fetch_array( $resposta )) { ?> <option value="<?php echo $linha["operacao"];?>"><?php echo $linha["operacao"];?></option> <?php } mysql_free_result( $resposta ); mysql_close($conexao); ?> </select> <br /> Condomínio: <select name="condominio" class="formulario" id="condominio" style="WIDTH: 160px"> <option value="todos" selected>Todos</option> <?php $sql = "select * from casa group by condominio"; $resposta = mysql_query( $sql ); while ( $linha = mysql_fetch_array( $resposta )) { ?> <option value="<?php echo $linha["condominio"];?>"><?php echo $linha["condominio"];?></option> <?php } mysql_free_result( $resposta ); mysql_close($conexao); ?> </select> <br /> Faixa de Valores: <select name="cvalor" class="formulario" id="cvalor" style="WIDTH: 160px"> <option value="todos" selected>Todos</option> <option value="a">Até R$ 200 mil</option> <option value="b">R$ 201 mil até R$ 400 mil</option> <option value="c">R$ 401 mil até R$ 600 mil</option> <option value="d">R$ 601 mil até R$ 800 mil</option> <option value="e">R$ 801 mil até R$ 1 milhão</option> <option value="f">Acima de R$ 1 milhão</option> </select> <br /> <input name="Submit" type="submit" class="formulario" id="button" value="Pesquisar" /> <input name="button2" type="reset" class="formulario" id="button2" value="Limpar" /> </p> </form> <?php $pagina = $_GET['pagina']; $num_por_pag = 4; // Quantos registros por página vai ser mostrado if (!isset($pagina)) { $pagina = 0; } $inicial = $pagina * $num_por_pag; if ($ref != '') { $ref = $_GET['ref']; $sql = "SELECT * FROM casa where "; $sql .= "ref='$ref' "; } else { $tipo = $_GET['tipo']; $operacao = $_GET['operacao']; $condominio = $_GET['condominio']; $cvalor = $_GET['cvalor']; $cnt = 0; $sql = "SELECT * FROM casa "; if($tipo != 'todos') { $sql .= "where tipo='$tipo' "; $cnt=1; } if($operacao != 'todos') { if ($cnt==1) $sql .= "AND operacao='$operacao' "; else $sql .= "where operacao='$operacao' "; $cnt=1; } if($condominio != 'todos') { if ($cnt==1) $sql .= "AND condominio='$condominio' "; else $sql .= "where condominio='$condominio' "; $cnt=1; } if($cvalor != 'todos') { if ($cnt==1) $sql .= "AND cvalor='$cvalor' "; else $sql .= "where cvalor='$cvalor' "; } } $sql .= ("ORDER BY Id DESC LIMIT $inicial, $num_por_pag "); { $consulta = mysql_query($sql)or die (mysql_error()); for($i=0;$result=mysql_fetch_array($consulta);$i++) { ?> <a href="imovel_detalhado.php?Id=<?php echo $result['Id']; ?>"><img src="imagens/casas/<?php echo $result['foto1']; ?>" width="200" border="0"/></a></td> <a href="imovel_detalhado.php?Id=<?php echo $result['Id']; ?>" class="anuncio_bold"><?php echo $result['condominio'];?></a> - <strong><?php echo $result['valor'];?></strong><br /> <a href="imovel_detalhado.php?Id=<?php echo $result['Id']; ?>" class="anuncio"><?php echo $result['tipo'];?></a><br /> <a href="imovel_detalhado.php?Id=<?php echo $result['Id']; ?>" class="anuncio"><?php echo $result['descricao'];?></a><br /> <a href="imovel_detalhado.php?Id=<?php echo $result['Id']; ?>" class="anuncio_bold"><?php echo $result['ref'];?></a><br /> <strong></strong> <?php } } ?> <?php $consulta = "SELECT COUNT(*) FROM Id"; list($total_reg) = mysql_fetch_array(mysql_query($sql)); $total_paginas = $total_reg/$num_por_pag; $prev = $pagina - 1; $next = $pagina + 1; if ($pagina > 1) { $prev_link = "<a href=\"$PHP_SELF?pagina=$prev\">Anterior</a>"; } else { $prev_link = "Anterior"; } if ($total_paginas > $pagina) { $next_link = "<a href=\"$PHP_SELF?pagina=$next\">Próxima"; } else { $next_link = "Próxima"; } $total_paginas = ceil($total_paginas); $painel = ""; $pag_inic=floor($pagina/10)*10; if ($pag_inic==0) $pag_inic=1; $pag_final = (floor($pagina/10)*10)+10; for ($x=$pag_inic; $x<=$total_paginas && $x<=$pag_final; $x++) { if ($x==$pagina) { $painel .= " [$x] "; } else { $painel .= " <a class=\"links\" href=\"$PHP_SELF?pagina=$x\">[$x]</a>"; } } if ($pag_inic >= 10) { if ($pag_inic==10) $menos_10 = "<a class=\"links\" href=\"$PHP_SELF?pagina=1\">-10</a>"; else $menos_10 = "<a href=\"$PHP_SELF?pagina=".($pag_inic-9)."\">-10</a>"; } else { $menos_10 = "-10"; } if ($total_paginas > $pag_final) { $mais_10 = "<a href=\"$PHP_SELF?pagina=$pag_final\">+10</a>"; } else { $mais_10 = "+10"; } echo "$menos_10 $prev_link $painel $next_link $mais_10"; ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
GilbertoSanchez Postado Junho 29, 2009 Autor Denunciar Share Postado Junho 29, 2009 Podem passar orçamento tb... preciso entregar o site urgente... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Marcus Nunes Postado Junho 30, 2009 Denunciar Share Postado Junho 30, 2009 Gilberto, eu posso resolver para você.Se quiser, mande um e-mail: marcus.nunes [arroba] limao.com.brAbraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Norivan Oliveira Postado Junho 30, 2009 Denunciar Share Postado Junho 30, 2009 Apartir do momento em que você pede um orcamento seu post deixa de ser uma dúvida, estou movendo para sala classificados.PS: não sou contra comércio no fórum, pelo contrário sou a favor, mas tem que ser postado na sala correta Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.