ZS Online Postado Janeiro 27, 2008 Denunciar Share Postado Janeiro 27, 2008 (editado) gente preciso fazer um sistema de paginação onde o existe condições (if) e quando clica em próximo n esta vindo resultados porque??? Editado Janeiro 27, 2008 por ZS Online Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Janeiro 27, 2008 Denunciar Share Postado Janeiro 27, 2008 Porque provavelmente você não está repassando os parâmetros da busca para as outras páginas por querystring... coloque o código ai pra dar uma analisada... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ZS Online Postado Janeiro 27, 2008 Autor Denunciar Share Postado Janeiro 27, 2008 pois é até percebi isso e tentei fazer passar os parametros parece uma gambiarra mais até que funcionou porem se eu passo a página os parametros se perde novamente n to entendendo é nadaolha o codigo://registrando as variáveis (n sei se esta certo isso tentei td) $area = $_GET["area"]; $palavra = $_GET["palavra"]; $categoria = $_GET["categoria"]; $bairro = $_GET["bairro"]; $sub_categoria = $_GET["sub_categoria"]; if($_REQUEST["Submit"]<>"")//verifica quais campos foi selecionado{ // Tratamento das variaveis. $area = $_REQUEST["area"]; $palavra = $_REQUEST["palavra"]; $categoria = $_REQUEST["categoria"]; $bairro = $_REQUEST["bairro"]; $sub_categoria = $_REQUEST["sub_categoria"];} // Declaração da pagina inicial $pagina = $_GET["pagina"]; if($pagina == "") { $pagina = "1"; } // Maximo de registros por pagina $maximo = 3; // Calculando o registro inicial $inicio = $pagina - 1; $inicio = $maximo * $inicio; $campos_query = "*"; //query da sql//---------------Inicio das condições do formulario------------------------if (($palavra) and (!$categoria) and (!$bairro) and (!$sub_categoria)){$sql = "FROM empresas WHERE area=$area AND nome LIKE '%".$palavra."%'";}elseif (($palavra) and (!$categoria) and ($bairro) and (!$sub_categoria)){$sql = "FROM empresas WHERE area=$area AND bairro=$bairro AND nome LIKE '%".$palavra."%'";}elseif ((!$palavra) and (!$categoria) and ($bairro) and (!$sub_categoria)){$sql = "FROM empresas WHERE area=$area AND bairro=$bairro";}elseif ((!$palavra) and ($categoria) and (!$bairro) and (!$sub_categoria)){$sql = "FROM empresas WHERE area=$area AND categoria=$categoria";}elseif (($palavra) and ($categoria) and (!$bairro) and (!$sub_categoria)){$sql = "FROM empresas WHERE area=$area AND nome LIKE '%".$palavra."%' AND categoria='$categoria'";}elseif ((!$palavra) and ($categoria) and ($bairro) and (!$sub_categoria)){$sql = "FROM empresas WHERE area=$area AND bairro=$bairro AND categoria=$categoria";}elseif (($palavra) and ($categoria) and ($bairro) and (!$sub_categoria)){$sql = "FROM empresas WHERE area=$area AND nome LIKE '%".$palavra."%' AND bairro=$bairro AND categoria=$categoria";}elseif ((!$palavra) and ($categoria) and (!$bairro) and ($sub_categoria)){$sql = "FROM empresas WHERE area=$area AND categoria=$categoria AND sub_categoria=$sub_categoria";}elseif (($palavra) and ($categoria) and (!$bairro) and ($sub_categoria)){$sql = "FROM empresas WHERE area=$area AND nome LIKE '%".$palavra."%' AND categoria=$categoria AND sub_categoria=$sub_categoria";}elseif ((!$palavra) and ($categoria) and ($bairro) and ($sub_categoria)){$sql = "FROM empresas WHERE area=$area AND bairro=$bairro AND categoria=$categoria AND sub_categoria=$sub_categoria";}elseif (($palavra) and ($categoria) and ($bairro) and ($sub_categoria)){$sql = "FROM empresas WHERE area=$area AND bairro=$bairro AND nome LIKE '%".$palavra."%' AND categoria=$categoria AND sub_categoria=$sub_categoria";}elseif ((!$palavra) and (!$categoria) and (!$bairro) and (!$sub_categoria)){$sql = "FROM empresas WHERE area=$area";}//---------------fim das condições------------------------------// Conta os resultados no total da minha query $strCount = "SELECT COUNT(*) AS 'num_registros' $sql"; $query = mysql_query($strCount); $row = mysql_fetch_array($query); $total = $row["num_registros"]; if($total<=0) { $err = "<center>Nenhum registro encontrado.</center>"; } else { $strQuery = "SELECT $campos_query $sql LIMIT $inicio,$maximo"; //fazendo a consulta de acordo com as variaveis $query = mysql_query($strQuery); }//--------------------fim da consulta sql-----------------------------------//------------------------Aqui faz a paginação---------------------------(esta um pouco bagunçado pois to fuçando muito)<? // Calculando pagina anterior $menos = $pagina - 1; // Calculando pagina posterior $mais = $pagina + 1; $pgs = ceil($total / $maximo); if($pgs > 1 ) { // Mostragem de pagina if($menos > 0) { echo "<a href=\"?pagina=$menos&&&area=$_POST[area]&&palavra=$_POST[palavra]&&categoria=$_POST[categoria]&&bairro=$_POST[bairro]&&sub_categoria=$_POST[sub_categoria]\" class='txt_preto'>anterior</a> "; } // Listando as paginas for($i=1;$i <= $pgs;$i++) { if($i != $pagina) { echo " <a href=\"?pagina=".($i)."&&area=$_POST[area]&&palavra=$_POST[palavra]&&categoria=$_POST[categoria]&&bairro=$_POST[bairro]&&sub_categoria=$_POST[sub_categoria]\" class='txt_preto'>$i</a>"; } else { echo " <strong lass='texto_paginacao_pgatual'>".$i."</strong>"; } } if($mais <= $pgs) { echo " <a href=\"?pagina=$mais&&area=$_POST[area]&&palavra=$_POST[palavra]&&categoria=$_POST[categoria]&&bairro=$_POST[bairro]&&sub_categoria=$_POST[sub_categoria]\" class='txt_preto'>próxima</a>"; } } ?>//-------------------------fim do comando de paginação--------------------------[/codebox]é isso cara se puder me ajudar ae agradeço porque n sei onde esta o erroabraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Janeiro 27, 2008 Denunciar Share Postado Janeiro 27, 2008 Primeiro, pra que isso?//registrando as variáveis (n sei se esta certo isso tentei td) $area = $_GET["area"]; $palavra = $_GET["palavra"]; $categoria = $_GET["categoria"]; $bairro = $_GET["bairro"]; $sub_categoria = $_GET["sub_categoria"]; if($_REQUEST["Submit"]<>"")//verifica quais campos foi selecionado { // Tratamento das variaveis. $area = $_REQUEST["area"]; $palavra = $_REQUEST["palavra"]; $categoria = $_REQUEST["categoria"]; $bairro = $_REQUEST["bairro"]; $sub_categoria = $_REQUEST["sub_categoria"]; }Se uma hora os dados vão ser passados por POST e outras por GET, não precisa especificar $_GET e depois, logo abaixo, $_REQUEST, afinal de contas o $_REQUEST permite receber o $_GET e o $_POSTSegundo,if($menos > 0) {echo "<a href=\"?pagina=$menos&&&area=$_POST[area]&&palavra=$_POST[palavra]&&categoria=$_POST[categoria]&&bairro=$_POST[bairro]&&sub_categoria=$_POST[sub_categoria]\" class='txt_preto'>anterior</a> ";}// Listando as paginasfor($i=1;$i <= $pgs;$i++) {if($i != $pagina) {echo " <a href=\"?pagina=".($i)."&&area=$_POST[area]&&palavra=$_POST[palavra]&&categoria=$_POST[categoria]&&bairro=$_POST[bairro]&&sub_categoria=$_POST[sub_categoria]\" class='txt_preto'>$i</a>";} else {echo " <strong lass='texto_paginacao_pgatual'>".$i."</strong>";}}if($mais <= $pgs) {echo " <a href=\"?pagina=$mais&&area=$_POST[area]&&palavra=$_POST[palavra]&&categoria=$_POST[categoria]&&bairro=$_POST[bairro]&&sub_categoria=$_POST[sub_categoria]\" class='txt_preto'>próxima</a>";}[/codebox]Ai você só está recebendo o que vier pelo método POST, se uma hora vai ser POST e outra GET, substitua os $_POST por $_REQUEST...E a menos que o seu sistema seja muito restrito, é interessante você utilizar o mysql_real_escape_string para te dar alguma proteção, pois simplesmente pegar algum dado e colocar numa query é expor o seu banco de dados a qualquer espertinho de plantão... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ZS Online Postado Janeiro 27, 2008 Autor Denunciar Share Postado Janeiro 27, 2008 Ola olha foi como eu disse já tentei tanta coisa que baguncei td n sei mais o que fazer qual seria a solução esse sistema n é restrito, é somente pra fazer uma consultaah sim já entendi era isso mesmo eu troquei a variavel $_POST dos links por $_REQUEST aí funcionou valeu mesmo Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ZS Online
gente preciso fazer um sistema de paginação onde o existe condições (if) e quando clica em próximo n esta vindo resultados porque???
Editado por ZS OnlineLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
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.