Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho um código de paginação que funciona redondo, perfeitinho, porém, se eu implementar uma busca (que sozinha funciona normal também), dá erro quando pulo pra página 2.
Segue o meu código da paginação sozinho:
Antes do Head:
<? include("include/conexao.php");?>
Na página em si:
<?php//######### INICIO Paginação $numreg = 20; // Quantos registros por página vai ser mostrado if (!isset($pg)) { $pg = 0; } $inicial = $pg * $numreg; // Serve para contar quantos registros você tem na seua tabela para fazer a paginação $sql_conta = mysql_query("SELECT * FROM artigos"); $quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação $total = mysql_num_rows($sql_conta); if ($total <= $numreg) { $total_paginas = 1; } else { $total_paginas = ceil($total/$numreg); } //######### FIM dados Paginação$colunas="1"; // defina o número de colunas desejado.$total="1";echo "<table width=383 border=0 align=center cellpadding=0 cellspacing=0>";// Faz o Select pegando o registro inicial até a quantidade de registros para página $sql = mysql_query("select id_artigo,titulo,date_format(data,'%d/%m/%Y') as data,data as dataT from artigos where ativo=1 order by dataT desc LIMIT $inicial, $numreg"); while ($aux = mysql_fetch_array($sql)) { $data=$aux['data']; $titulo=$aux['titulo']; $codArtigo=$aux['id_artigo']; if($total==1){print"<tr>";} print "<td height=32><span class=texto_laranja_12>$data - </span><a href=ver_artigo.php?codArtigo=$codArtigo>$titulo</a></td>"; print "</tr>"; print "<tr>"; print "<td height=1 background=img/pontilhado_horizontal.gif></td>";if($total==$colunas){print"</tr>";$total=0;}$total=$total+1;}if(!$total==$colunas){print"</tr></table>";} else {print"</table>";}?><?// FAZ A PAGINAÇÃO $quant_pg = ceil($quantreg/$numreg); $quant_pg++; // Verifica se esta na primeira página, se nao estiver ele libera o link para anterior if ( $pg > 0) { echo "<a href=".$PHP_SELF."?pg=".($pg-1) ."class=pg><b>« anterior</b></a> |"; } else { echo "« anterior |"; } // Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO for($i_pg=1;$i_pg<$quant_pg;$i_pg++) { // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente if ($pg == ($i_pg-1)) { echo " <font color=#C25046>$i_pg</font> |"; } else { $i_pg2 = $i_pg-1; echo " <a href=".$PHP_SELF."?pg=$i_pg2><b>$i_pg</b></a> |"; } } // Verifica se esta na ultima página, se nao estiver ele libera o link para próxima if (($pg+2) < $quant_pg) { echo " <a href=".$PHP_SELF."?pg=".($pg+1)." class=pg><b>próxima »</b></a>"; } else { echo " próxima »"; } // ACABA A PAGINAÇÃO?>
Esse script funciona legal.
Segue o sql da busca:
$result=mysql_query("select * from academias inner join academiasImagens on academias.cod_academia=academiasImagens.cod_academia where nome LIKE '%$nome%' AND estado='$estado' and cidade like '%$cidade%' and bairro like '$bairro%'");
O resto do código pra exibir os resultados, é normal.
Quando eu implmento os 2 códigos (busca + paginação), ao clicar na página 2 dá um erro, pelo que entendi, ele muda pra página 2 e não passa o parâmetro da busca.
Alguém tem alguma solução em cima disso aí ou tem algum código que funcione para me passar ?
PS: A BUSCA E A PAGINAÇÃO SÃO SQL DIFERENTES POIS FORAM TIRADOS DE ARQUIVOS DIFERENTES. Se eu pegar simplesmente o sql da busca e jogar no lugar do sql do script de paginação, ele funciona, busca e exibe a primeira página normal. Na hora de mudar de página que realmente dá o erro.
Grato desde já pela atenção de todos!
Carregando comentários...