Ir para conteúdo
Fórum Script Brasil
  • 0

Paginação no resultado da busca


Naty_Za

Pergunta

Gente.... to tentando colocar paginação, nessa página de resultado de busca...

e não estou conseguindo...

a paginação funciona perfeitamente em outras sessões do site, tipo, pra exibir todos os registro de um determinado setor...

Eu acho q o erro que está dando nessa página de busca, é porque eu não posso usar do mesmo jeito, pedindo pra ele listar todos e separando de 10 em 10, porque num resultado de pesquisa, não sabemos qtos resultados vão ter...

então, acredito eu, que esta parte do código teria q ser mudada:

$busca = mysql_query("SELECT count(*) FROM cadastros;");
e colocar algo igual do select, tipo: HTTP_POST_VARS[palavra] mas não sei como fazer essa junção.. tb nem sei se o problema está aí.. é só a minha opnião.. mas como sou iniciante em PHP, estou completamente perdida.... =/ Segue o código abaixo.. me ajudem, por favor!!
<?
include("config.php");

$link_p_pag = 5;
$reg_p_pag = 10;
$pag = $_GET['pag'];

$busca = mysql_query("SELECT count(*) FROM cadastros;");
$registros = mysql_result($busca,0); 



$num_total_paginas = ($registros%$reg_p_pag==0)?$registros/$reg_p_pag:floor($registros/$reg_p_pag)+1;


if ($pag>$num_total_paginas)
echo "Error<br><br>";
else

if (!$pag)
$pag = 1;

$inicio = ($reg_p_pag*$pag)-$reg_p_pag; 
                            
                            
                            
                            
                            if(!empty($HTTP_POST_VARS[palavra])) { 
   $palavras = explode(' ', $HTTP_POST_VARS['palavra']); //separa as palavras e as coloca em um array

$qr = "SELECT * FROM cadastros WHERE";

//adiciona o trecho SQL para cada palavra
foreach($palavras as $palavra){
$qr .= "(titulo LIKE '%".$palavra."%' OR cidade LIKE '%".$palavra."%' OR texto LIKE '%".$palavra."%' OR uf LIKE '%".$palavra."%' OR endereco LIKE '%".$palavra."%') AND ";
}

//o "1 = 1" é necessário, para não conflitar com o último AND
$qr .= "1 = 1 ORDER BY titulo ASC";


    $sql = mysql_query($qr) or die (mysql_error()); // Executa a query no Banco de Dados 
    
$total = mysql_num_rows($sql); // Conta o total ded resultados encontrados 
    
echo "<font face=Verdana, Arial, Helvetica, sans-serif><font size=1>Sua busca retornou <b>$total</b> resultados.</font><br><br>\n"; // mostra quantos resultados retornou e logo depois exibe
    
while ($dados = mysql_fetch_array($sql)) {
$campo1 = $dados["titulo"];
$campo2 = $dados["endereco"];
$campo3 = $dados["cidade"];
$campo4 = $dados["tel"];
$campo5 = $dados["id"];
$campo6 = $dados["site"];
$campo7 = $dados["email"];
$campo8 = $dados["uf"];
$campo9 = $dados["texto"];

if ($campo6 != ""){
$varHref = "<a href=\"http://$campo6\" target=\"_blank\" ><b>$campo1</b></a>";
}else{
$varHref = $campo1;
}           

echo "
<font color=#00496e><b>".$varHref."</b></font><br>
<i>$campo9 </i><BR>
$campo2<BR>
$campo3 / $campo8 <br>
Tel: $campo4<BR>
Email: <a href=mailto:$campo7>$campo7</a><BR>
<BR>
";
} 
} 
echo "<hr><br>";

$anterior = $pag-1;
if ($anterior<1)
echo "Anterior - ";
else
echo "<a href=\"{$_SERVER['PHP_SELF']}?id_submenu=".$_GET['id_submenu']."&pag=$anterior\">Anterior</a> - ";

for($i=1; $i<$pag; $i++)
if($i>=$pag-$link_p_pag)
echo "<a href=\"{$_SERVER['PHP_SELF']}?id_submenu=".$_GET['id_submenu']."&pag=$i\">$i</a> - ";

echo "<b>$pag</b>";

for($i=$pag+1; $i<=$num_total_paginas; $i++)
if($i<=$pag+$link_p_pag)
echo " - <a href=\"{$_SERVER['PHP_SELF']}?id_submenu=".$_GET['id_submenu']."&pag=$i\">$i</a>";

$proxima = $pag+1;
if ($proxima>$num_total_paginas)
echo " - Próxima";
else
echo " - <a href=\"{$_SERVER['PHP_SELF']}?id_submenu=".$_GET['id_submenu']."&pag=$proxima\">Próxima</a>";

?>

Link para o comentário
Compartilhar em outros sites

1 resposta 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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...