Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lilidias

[Resolvido] Paginação em página de busca não funciona

Recommended Posts

Boa tarde,

 

Eu tenho uma pagina de busca que estou tentando implementar paginação.

O que está acontecendo é que ao buscar um nome ele retorna os dados na primeira página.Quando clico na segunda página ele nao retorna o resultado, apesar de eu passar a variavel da busca no link da proxima pagina.Mas ai se no campo busca eu digitar o nome ele mostra os resultados da segunda página.

Tentei colocar o metodo como "GET" e nao funciona.Ele nao retorna nenhum resultado e direciona para a pagina principal .

Já estou desesperada, nao sei o q fazer.Me ajudem por favor.Segue o script.Agradeço desde já.

Ah, o banco é mysql.

 

<script type="text/javascript">

 

function confirmar(query){

 

if(window.confirm("Deseja Realmente Excluir?")){

 

window.location="excluir_busca_nome_db.php"+ query;

return true;

}

else {

window.location="menu.php?pag=buscar_nome"

return false;

}

}

 

</script>

 

<form method="POST">

<font color="#000000" face="Arial, Helvetica, sans-serif" size="3"> <strong> Busca de Cadastrados</strong> </font><br /><br />

<font color="#666666" face="Arial, Helvetica, sans-serif" size="3"> <strong> Buscar por Nome:</strong> </font><input type= "text" name="palavra" size="30">

<input type="submit" value=" " border="0" style="border:0;width:80px; height:22px; background-image:url(../imagens/buscar.gif)">

</form>

 

<?php

 

$conexao = mysql_connect("localhost", "kleber", "kleber");

$db = mysql_select_db("kleber");

 

if(!empty($HTTP_POST_VARS["palavra"])) {

$palavra = str_replace(" ", "%", $HTTP_POST_VARS["palavra"]);

 

/* Altera os espaços adicionando no lugar o simbolo % */

 

$palavra = $_REQUEST["palavra"];

 

$pagina = $_GET["pagina"];

if($pagina == "") {

$pagina = "1";

}

 

// Maximo de registros por pagina

$maximo = 3;

 

// Calculando o registro inicial

$inicio = $pagina - 1;

$inicio = $maximo * $inicio;

 

$qr2 = "SELECT * FROM CADASTRADO WHERE nome LIKE '%".$palavra."%' ORDER BY id_cadastrado asc";

// Executa a query no Banco de Dados

 

$sql2 = mysql_query($qr2);

// Conta o total de resultados encontrados

$total2 = mysql_num_rows($sql2);

 

if($total2 <= 0) {

echo "<center> Nenhum registro encontrado.</center>";

} else {

$qr = "SELECT * FROM CADASTRADO WHERE nome LIKE '%".$palavra."%' ORDER BY id_cadastrado asc LIMIT $inicio,$maximo";

$sql = mysql_query($qr);

$total = mysql_num_rows($sql);

echo "<font color='#666666' face='Arial, Helvetica, sans-serif' size='3'> Sua busca retornou $total2 resultados. <br/> <br/>"; ;

// Gera o Loop com os resultados

echo "<table align='center' border='1' style='border-collapse:collapse; font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FFF;'>";

echo "<tr align='center' bgcolor='#9d1809'>";

echo "<td><strong> Id </strong></td>";

echo "<td><strong> Nome </strong></td>";

echo "<td><strong> Sexo </strong></td>";

echo "<td><strong> Estado Civil </strong></td>";

echo "<td><strong> Endereço </strong></td>";

echo "<td><strong> Número </strong></td>";

echo "<td><strong> Complemento </strong></td>";

echo "<td><strong> Bairro </strong></td>";

echo "<td><strong> Cidade </strong></td>";

echo "<td><strong> Estado </strong></td>";

echo "<td><strong> Cep </strong></td>";

echo "<td><strong> Data de Nascimento </strong></td>";

echo "<td><strong> E-mail </strong></td>";

echo "<td><strong> Telefone </strong></td>";

echo "<td><strong> Telefone Celular </strong></td>";

echo "<td><strong> Telefone Comercial </strong></td>";

echo "<td><strong> Profissão </strong></td>";

echo "<td><strong> Orkut </strong></td>";

echo "<td><strong> Data de Cadastro </strong></td>";

echo "<td><strong>  </strong></td>";

echo "<td><strong>  </strong></td>";

echo "</tr>";

 

while($r = mysql_fetch_array($sql)) {

echo " <tr align='center' style='font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #000;'> ";

echo "<td>";

echo $r["id_cadastrado"];

echo "</td>";

echo "<td>";

echo $r["nome"];

echo "</td>";

echo "<td>";

echo $r["sexo"];

echo "</td>";

echo "<td>";

echo $r["estado_civil"];

echo "</td>";

echo "<td>";

echo $r["endereco"];

echo "</td>";

echo "<td>";

echo $r["numero"];

echo "</td>";

echo "<td>";

echo $r["complemento"];

echo "</td>";

echo "<td>";

echo $r["bairro"];

echo "</td>";

echo "<td>";

echo $r["cidade"];

echo "</td>";

echo "<td>";

echo $r["estado"];

echo "</td>";

echo "<td>";

echo $r["cep"];

echo "</td>";

echo "<td>";

echo $r["data_nascimento"];

echo "</td>";

echo "<td>";

echo $r["email"];

echo "</td>";

echo "<td>";

echo $r["telefone"];

echo "</td>";

echo "<td>";

echo $r["tel_celular"];

echo "</td>";

echo "<td>";

echo $r["tel_comercial"];

echo "</td>";

echo "<td>";

echo $r["profissao"];

echo "</td>";

echo "<td>";

echo $r["orkut"];

echo "</td>";

echo "<td>";

echo $r["data_cadastro"];

echo "</td>";

echo "<td> <a href='alterar.php?id_cadastrado=$r[id_cadastrado]'>Editar</a> </td>";

echo "<td> <a href=\"javascript:confirmar('?id_cadastrado=$r[id_cadastrado]')\">Excluir</a> </td>";

echo "</tr>";

}

echo "</table>";

}

 

// Calculando pagina anterior

$menos = $pagina - 1;

// Calculando pagina posterior

$mais = $pagina + 1;

 

$pgs = ceil($total2/$maximo);

 

?>

<?

if($pgs > 1 ) {

// Mostragem de pagina

if($menos > 0) {

echo "<a href=\"menu.php?pag=buscar_nome&pagina=" . $menos . "&palavra=" . $palavra . "\" >Anterior</a>";

}

// Listando as paginas

 

for($i=1;$i <= $pgs;$i++) {

if($i != $pagina) {

echo " <a href=\"menu.php?pag=buscar_nome&pagina=".($i)."&palavra=" . $palavra . "\" >$i</a>";

 

} else {

echo " <strong>".$i."</strong>";

}

}

 

if($mais <= $pgs) {

echo " <a href=\"menu.php?pag=buscar_nome&pagina=" . $mais . "&palavra=" . $palavra . "\">Próxima</a>";

}

}

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta mudar isso:

if(!empty($HTTP_POST_VARS["palavra"])) {
$palavra = str_replace(" ", "%", $HTTP_POST_VARS["palavra"]);

/* Altera os espaços adicionando no lugar o simbolo % *

por isso:

if(!empty($_REQUEST["palavra"])) {
$palavra = str_replace(" ", "%", $_REQUEST["palavra"]);	

e apague a linha $palavra = $_REQUEST["palavra"];

 

Acho que ele não está entrando nesse if na paginação pois a requisição vem por GET...

 

Só cuidado com essa query... está passivel de SQL Injection

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.