henry franklin 0 Denunciar post Postado Junho 29, 2009 poste o código denovo inclusive com a "query sql" de consulta. pode ser q depois de tanta alteração tenha deixado passar algo(vamo terminar isso, meu!) Compartilhar este post Link para o post Compartilhar em outros sites
Menegat 0 Denunciar post Postado Junho 29, 2009 ok.... bom aqui esta a query de consulta..... $x = "select * from produtos where Categoria = '".$_GET["campo_Tipo"]."'"; $sql5 = mysql_query($x); e aqui o restante do codigo. $total_reg = "10"; // número de registros por página if (!isset($pagina)) { $pc = "1"; $inicio=0; // de tudo que ele achar ele vai começar do item "0" }else { $pc = $pagina; $inicio = $pagina * $total_reg; // aqui multiplica qts registro você quer por página pelo "número" da pagina. // na verdade ele é o valor q vai ser o primeiro item gerado. } $limite = mysql_query("$x LIMIT ".$inicio.",".$total_reg) or die('A variável $limite apresentou o seguinte erro - '.mysql_error()); $tr = 50; // verifica o número total de registros $tp = $tr / $total_reg; // verifica o número total de páginas if($msg == ""){ while($row5 = mysql_fetch_array($limite)){ $link_id = $row5["id"]; echo '<img src="ff.gif" width="4" height="7"><span class="style5">_</span>' . '<span class="fonte_data">' . '<a href="produtos_detalhe.php?id='.$link_id.'">' . '<span class="fonte_data">' . $row5["produtos_nome"] . '</a>' .'<br><br>'; $foto++; } // botões "Anterior e próximo" $anterior = $pc -1; $proximo = $pc +1; $link = "campo_Tipo=".$_GET['campo_Tipo']. "&campo_Dorm=".$_GET['campo_Dorm']. "&campo_Faixa=".$_GET['campo_Bairro']. "&campo_Bairro=".$_GET['campo_Faixa']. "&Submit=Procurar"; if ($pc>0) { echo " <a href='?".$link."&pagina=$anterior'><- Anterior</a> "; } echo "|"; if ($pc<$tp) { echo " <a href='?".$link."&pagina=$proximo'>Próxima -></a>"; } } ?> xD Compartilhar este post Link para o post Compartilhar em outros sites
henry franklin 0 Denunciar post Postado Junho 29, 2009 Bom menegat, fiz algumas alterações . mudei a lógica da consulta (minha lógica anterior criou algumas contradições); . reinseri a conta de valores retornados; . inseri uma condição pra mostrar o "|"; . alterei o critério de mostrar o "próxima" $x = "select * from produtos where Categoria = '".$_GET["campo_Tipo"]."'"; $sql5 = mysql_query($x); $total_reg = "10"; //sem o teste de "página" $pc = $pagina; $inicio = $pc*$total_reg; //ok $limite = mysql_query("$x LIMIT ".$inicio.",".$total_reg) or die('A variável $limite apresentou o seguinte erro - '.mysql_error()); // contando valores para depois contar qts paginas $tr = mysql_num_rows($sql5); $tp = ($tr / $total_reg); if($msg == ""){ while($row5 = mysql_fetch_array($limite)){ $link_id = $row5["id"]; echo '<img src="ff.gif" width="4" height="7"><span class="style5">_</span>' . '<span class="fonte_data">' . '<a href="produtos_detalhe.php?id='.$link_id.'">' . '<span class="fonte_data">' . $row5["produtos_nome"] . '</a>' .'<br><br>'; $foto++; } $anterior = $pc-1; $proximo = $pc+1; // veja se vai ser nescessário usar tudo isso no link $link = "campo_Tipo=".$_GET['campo_Tipo']. "&campo_Dorm=".$_GET['campo_Dorm']. "&campo_Faixa=".$_GET['campo_Bairro']. "&campo_Bairro=".$_GET['campo_Faixa']. "&Submit=Procurar"; if ($pc>0) { echo " <a href='?".$link."&pagina=$anterior'><- Anterior</a> "; } if (($pc>0) && ($proximo<$tp)){ echo "|"; } // troquei $pc por $pagina já que foi feita a conta antes ("sobrava" um proximo) if ($proximo<$tp) { echo " <a href='?".$link."&pagina=$proximo'>Próxima -></a>"; } }veja ai e qq coisa to akiabraço. Compartilhar este post Link para o post Compartilhar em outros sites
Menegat 0 Denunciar post Postado Junho 29, 2009 henry franklin.....cara acho q esse tals de paginação por php tah com um encosto... UASHUAHS você me acredita se eu fala rq ele continua mostrando os mesmos registros? =[[[ Compartilhar este post Link para o post Compartilhar em outros sites
henry franklin 0 Denunciar post Postado Junho 29, 2009 q coisa, meu! faz o seguinte: poe isso aki no final da página (depois do link "proximo") e posta aki o resultado echo "<br>". "página:".$pagina."<br>". // atualiza essa linha "página:".$pc."<br>". "tipo de campo (consulta): ".$_GET['campo_Tipo']."<br>". "inicia em: ".$inicio."<br>". "registros encontrados: ".$tr."<br>". "qtd de páginas: ".$tp."<br>";//atualizando essa linha (erro) Compartilhar este post Link para o post Compartilhar em outros sites
Menegat 0 Denunciar post Postado Junho 29, 2009 apareceu isso aqui.... página: página: tipo de campo (consulta): 11 inicia em: 0 registros encontrados: 12 qtd de páginas: 1.2 sera q n eh por causa do resultado da qnt de paginas q da o erro??? 1.2??? abrasss Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Junho 29, 2009 Em qual das duas exibiu isto? Na primeira página ou clicando em próximo? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Menegat 0 Denunciar post Postado Junho 29, 2009 alterei a divisão, usei o operador de modulo, para reotrnar o resto da divisão, o calculo sai certo mas continua mostrando os mxm resultados.. =[[ Compartilhar este post Link para o post Compartilhar em outros sites
henry franklin 0 Denunciar post Postado Junho 29, 2009 a conta soh eh feita depois da consulta, então nao afeta em nada. como o Carlos perguntou, qual o resultado ao clicar em "proximo"? Compartilhar este post Link para o post Compartilhar em outros sites
Menegat 0 Denunciar post Postado Junho 29, 2009 A tela é a mxm clicando em proximo e apos fazer a busca, n altera nada nos valores do print....... so altera a url q qndo e faita a pesquisa esta assim: "http://localhost/marcelo/executtiva/busca.php?campo_codigo=&campo_Tipo=11&campo_Dorm=01&campo_Faixa=01&campo_Bairro=01&Submit=Procurar" página: página: tipo de campo (consulta): 11 inicia em: 0 registros encontrados: 12 qtd de páginas: 2 e qndo clico em proximo fica assim.. "http://localhost/marcelo/executtiva/busca.php?campo_Tipo=11&campo_Dorm=01&campo_Faixa=01&campo_Bairro=01&Submit=Procurar&pagina=1" página: página: tipo de campo (consulta): 11 inicia em: 0 registros encontrados: 12 qtd de páginas: 2 Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Junho 29, 2009 Olha... To achando que tem um if fora do lugar aí... Posta o código da página busca.php COMPLETO. Da primeira até a última linha. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
henry franklin 0 Denunciar post Postado Junho 29, 2009 no primeiro link tem um item a mais ("campo_codigo="), pergunto: afeta em alguma coisa? pois eh, meu amigo. em algum lugar acima (no meio de seu codigo) deve estar sendo setado "$pagina" arbitrariamente. tente localizar outros lugares q tenha "$página". primeiro faça o seguinte: poste isso aki nas primeiras linhas de teu codigo (linha 1 se puder) $pagina=1; Compartilhar este post Link para o post Compartilhar em outros sites
Menegat 0 Denunciar post Postado Junho 29, 2009 aqui esta o codigo do busca.php completo......dei uma olhada por cima mas acho q n ah ifs em aberto, mas talvez vcs consigam ver algo de errado q meu pouco conhcecimento n tenha notado e q seje importante.. include("conexao.php"); include("databr.php"); //resultados da busca de produtos. $campo = $_GET["campo_Tipo"]; $dormitorios = $_GET["campo_Dorm"]; $bairro = $_GET["campo_Bairro"]; $faixa = $_GET["campo_Faixa"]; if($campo == "0"){ $msg = "Campo Imovel Invalido!"; }//fecha primeiro if else{ if($bairro == "01" && $faixa == "01"){ if($dormitorios == "01"){ $x = "select * from produtos where Categoria = '".$_GET["campo_Tipo"]."'"; $sql5 = mysql_query($x); } else{ $x = "select * from produtos where Categoria = '".$_GET["campo_Tipo"]."' AND produtos_dorm = '".$_GET["campo_Dorm"]."'"; $sql5 = mysql_query($x); } }//fecha if dormitorios else{ if($bairro == "0"){ if($dormitorios == "01"){ $x = "select * from produtos where Categoria = '".$_GET["campo_Tipo"]."' AND produtos_faixa = '".$_GET["campo_Faixa"]."'"; $sql5 = mysql_query($x); } else{ $x = "select * from produtos where Categoria = '".$_GET["campo_Tipo"]."' AND produtos_dorm = '".$_GET["campo_Dorm"]."' AND produtos_faixa = '".$_GET["campo_Faixa"]."'"; $sql5 = mysql_query($x); } }//fecha if bairro else{ if($faixa == "1"){ if($dormitorios == "01"){ $x = "select * from produtos where Categoria = '".$_GET["campo_Tipo"]."' AND produtos_bairro = '".$_GET["campo_Bairro"]."'"; $sql5 = mysql_query($x); } else{ $x = "select * from produtos where Categoria = '".$_GET["campo_Tipo"]."' AND produtos_dorm = '".$_GET["campo_Dorm"]."' AND produtos_bairro = '".$_GET["campo_Bairro"]."'"; $sql5 = mysql_query($x); } }//fecha if faixa }//fecha else do if $bairro && $faixa }//fecha if $bairro && $faixa if($dormitorios == "01" && $bairro != "0" && $faixa != "1"){ $x = "select * from produtos where Categoria = '".$_GET["campo_Tipo"]."' AND produtos_bairro = '".$_GET["campo_Bairro"]."' AND produtos_faixa = '".$_GET["campo_Faixa"]."'"; $sql5 = mysql_query($x); } if($campo != "0" && $dormitorios != "01" && $faixa != "1" && $bairro!= "0"){ $x = "select * from produtos where Categoria = '".$_GET["campo_Tipo"]."' AND produtos_dorm = '".$_GET["campo_Dorm"]."' AND produtos_bairro = '".$_GET["campo_Bairro"]."' AND produtos_faixa = '".$_GET["campo_Faixa"]."'"; $sql5 = mysql_query($x); } $num = mysql_num_rows($sql5); if($num == "0"){ $msg = "Nenhum imóvel cadastrado com estas informações."; } }//fecha primero else //conectando com o banco para achar as informações de rodapé do site. //$sql3 = mysql_query("select * from dados_empresa"); //$row3 = mysql_fetch_array($sql3); //pega o produto coloca no display. $sql8 = mysql_query("select * from produtos where Categoria='".$_REQUEST["categorias_id"]."' "); //pega por get as informações para qual a categoria o cara clicou. $sql9 = mysql_query("select * from categorias where Id='".$_REQUEST["categorias_id"]."' order by Id desc"); $row9 = mysql_fetch_array($sql9); ?> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title><?php echo $row3["dados_empresa_nome"];?></title> <style type="text/css"> <!-- --> </style> <script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script> <link href="css_fontes.css" rel="stylesheet" type="text/css"> <style type="text/css"> <!-- body { background-attachment: fixed; background-image: url(bg.gif); margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } .fonte { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; color: #333333; text-decoration: none; line-height: 22px; } .branco { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; color: #FFFFFF; text-decoration: none; line-height: 23px; } .fonte_vermelha { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; color: #660000; text-decoration: none; line-height: 22px; } .fonte1 {font-family: "Trebuchet MS"; font-size: 11px; line-height: 23px; color: #333333; text-decoration: none; } .qqqqqqq {font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #666666; text-decoration: none; } .style2Copy { font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #000000; text-decoration: none; height: 18px; } .style1 { font-size: 14px; font-weight: bold; } .style5 { font-size: 11px; font-weight: bold; color: #FFFFFF; text-decoration: none; } --> </style> </head> <body> <table width="780" height="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <th height="77" valign="bottom" scope="col"> </th> </tr> <tr> <th height="291" background="banner.gif" scope="col"><script type="text/javascript"> AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','780','height','291','src','top','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','menu','false','wmode','transparent','scale','noscale','movie','top' ); //end AC code </script> <noscript> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="780" height="291"> <param name="movie" value="top.swf"> <param name="quality" value="high"> <param name="menu" value="false"> <param name="wmode" value="transparent"> <param name="scale" value="noscale"> <embed src="top.swf" width="780" height="291" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" menu="false" wmode="transparent" scale="noscale"></embed> </object> </noscript> </th> </tr> <tr> <th align="center" valign="top" background="bg2.gif" scope="col"><div align="center"> <table width="98%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><div align="center" class="fonte_rodape"> <table width="86%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="60"><div align="right" class="fonte_menu"> <div align="center"> <table width="70%" border="0" align="right" cellpadding="3" cellspacing="0"> <tr> <td background="bg_bot.gif" class="fonte_menu"><div align="center"><strong><a href="index.php" target="_self" class="fonte_menu">Página Inicial</a></strong></div></td> <td class="fonte_menu"><div align="center"><strong>. </strong></div></td> <td background="bg_bot.gif" class="fonte_menu"><div align="center"><strong><a href="categorias.php" target="_self" class="fonte_menu">Imóveis</a></strong></div></td> <td class="fonte_menu"><div align="center"><strong>.</strong></div></td> <td background="bg_bot.gif" class="fonte_menu"><div align="center"><strong><a href="empresa.php" target="_self" class="fonte_menu">Empresa</a></strong></div></td> <td class="fonte_menu"><div align="center"><strong>.</strong></div></td> <td background="bg_bot.gif" class="fonte_menu"><div align="center"><strong><a href="corretores.php" target="_self" class="fonte_menu">Corretores</a></strong></div></td> <td class="fonte_menu"><div align="center"><strong>.</strong></div></td> <td background="bg_bot.gif" class="fonte_menu"><div align="center"><strong><a href="noticias.php" target="_self" class="fonte_menu">Notícias</a></strong></div></td> <td class="fonte_menu"><div align="center"><strong> .</strong></div></td> <td background="bg_bot.gif" class="fonte_menu"><div align="center"><strong><a href="contato.php" target="_self" class="fonte_menu">Contato</a></strong></div></td> </tr> </table> </div> </div></td> </tr> </table> </div></td> </tr> <tr> <td><div align="center"> <table width="90%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" valign="top" class="fonte_normal"><table width="640" height="182" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="20" align="left" valign="top" bgcolor="#FFFFFF" class="fonte_data"> </td> </tr> <tr> <td height="1" align="left" valign="top" bgcolor="#FFFFFF" class="fonte_data"><div align="center"> <div align="center"> <p> <?php if ($_GET['campo_Tipo'] == "") { echo "Digite um nome no campo de busca."; } ;?> </p> <p><?php //echo $msg; ?> </p> </div> </div></td> </tr> <tr> <td height="1" align="left" valign="top" bgcolor="#FFFFFF" class="fonte_data"><div align="left"><strong> <?php $total_reg = "10"; //sem o teste de "página" $pc = $pagina; $inicio = $pc*$total_reg; //ok $limite = mysql_query("$x LIMIT ".$inicio.",".$total_reg) or die('A variável $limite apresentou o seguinte erro - '.mysql_error()); // contando valores para depois contar qts paginas $tr = mysql_num_rows($sql5); $tp = ($tr % $total_reg); if($msg == ""){ while($row5 = mysql_fetch_array($limite)){ $link_id = $row5["id"]; echo '<img src="ff.gif" width="4" height="7"><span class="style5">_</span>' . '<span class="fonte_data">' . '<a href="produtos_detalhe.php?id='.$link_id.'">' . '<span class="fonte_data">' . $row5["produtos_nome"] . '</a>' .'<br><br>'; $foto++; } $anterior = $pc-1; $proximo = $pc+1; // veja se vai ser nescessário usar tudo isso no link $link = "campo_Tipo=".$_GET['campo_Tipo']. "&campo_Dorm=".$_GET['campo_Dorm']. "&campo_Faixa=".$_GET['campo_Bairro']. "&campo_Bairro=".$_GET['campo_Faixa']. "&Submit=Procurar"; if ($pc>0) { echo " <a href='?".$link."&pagina=$anterior'><- Anterior</a> "; } if (($pc>0) && ($proximo<$tp)){ echo "|"; } // troquei $pc por $pagina já que foi feita a conta antes ("sobrava" um proximo) if ($proximo<$tp) { echo " <a href='?".$link."&pagina=$proximo'>Próxima -></a>"; } echo "<br>". "página:".$página."<br>". "página $pc:".$pc."<br>". "tipo de campo (consulta): ".$_GET['campo_Tipo']."<br>". "inicia em: ".$inicio."<br>". "registros encontrados: ".$tr."<br>". "qtd de páginas: ".$tp. "<br>"; } echo $msg; ?> </strong></div></td> </tr> </table></td> </tr> </table> </div></td> </tr> </table> </div></th> </tr> <tr> <th height="20" align="center" valign="top" background="bg2.gif" scope="col"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> </td> </tr> <tr> <td><div align="center"><span class="fonte_rodape"><?php echo $row3["dados_empresa_nome"];?> . <?php echo $row3["dados_empresa_telefone"];?> . <?php echo $row3["dados_empresa_endereco"];?> . <?php echo $row3["dados_empresa_cidade"];?> - <?php echo $row3["dados_empresa_estado"];?></span></div></td> </tr> <tr> <td><div align="center" class="fonte_rodape"> <div align="center">Todos os Direitos Reservados . <a href="http://www.agenciapro-v.com.br" target="_blank"><span class="fonte_menu"><strong>Desenvolvido por PRO-V Comunicação</strong></span></a></div> </div></td> </tr> <tr> <td> </td> </tr> </table></th> </tr> </table> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Menegat 0 Denunciar post Postado Junho 29, 2009 henry franklin disse: no primeiro link tem um item a mais ("campo_codigo="), pergunto: afeta em alguma coisa? pois eh, meu amigo. em algum lugar acima (no meio de seu codigo) deve estar sendo setado "$pagina" arbitrariamente. tente localizar outros lugares q tenha "$página". primeiro faça o seguinte: poste isso aki nas primeiras linhas de teu codigo (linha 1 se puder) $pagina=1; o campo_codigo é apenas uma variavel de banco apra cadastro e tals, ele n eh preenchido na ora da busaca. e como se fosse uma descrição do produto e tals. irei setar o $pagina pois n esta sendo setado em nenhuma parte do codigo... Compartilhar este post Link para o post Compartilhar em outros sites
Menegat 0 Denunciar post Postado Junho 29, 2009 setei na primeira linha o $pagina, agora ele mostra apenas os 2 resultados q faltavam, e o link anterior, mas qndo clico em anterior ele n mostras os 10 primeiros.... Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Junho 29, 2009 Acho que achei o erro. Coloca isto e testa. $pagina = (isset($_GET['pagina'])) ? $_GET['pagina'] : 0; //adiciona esta linha aqui e testa. $pc = $pagina; Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Menegat 0 Denunciar post Postado Junho 29, 2009 aewwwwwwww carloo....henry... solucionadoo..... o codigo acima funciono..... na verdade todo o trabalho de vcs resultou nisso.. agradeço aos 2 por estarem nessa comigo desde o inicio....... e por n me deixarem na mão em momento algum......mxm eu merecendo...xD xDD Obrigado novamente..... se n fosse por vcs estaria ate hj tentando e concerteza sem mto sucesso... ObrigadoOO... Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Junho 29, 2009 Que bom que deu certo. Não tinha pensado que poderia ser isto... Agora vou fazer uma sugestão... Dá uma estudada em Sql Injection. Tem que dar uma filtrada nos dados que vem por GET ou por POST. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
henry franklin 0 Denunciar post Postado Junho 29, 2009 opa, maravilha! isso mesmo. Flw Menegat, precisando.... prazer ajudar Compartilhar este post Link para o post Compartilhar em outros sites
Menegat 0 Denunciar post Postado Junho 29, 2009 ok...vou dar uma estudadinha nisso sim.....e tentar ageitar minha filtatragem de dados....eu tinha feito uma mas compacta e tals, mas ela apresentava um erro e como oq me pareceu mais importante e demorado a se resolvoer foi a paginação dei mais enfase a ela..... agora vou ajustar o codigo, e deixar ele em um "padrão", para q fique melhor para qm for velo ou trabalhar cm ele futuramente... agradeço as dicas novamente Carlo, Henry, agradeço mesmo.... mto obrigadoo... \o\ http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites