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>";
?>
Pergunta
Naty_Za
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:
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!!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.