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

(Resolvido) Paginação + sistema de busca


tonzinhu

Pergunta

Iae galera beleza?

Assim, to tentando adapatar o meu sistema de busca com o de paginação só q da alguns errinhos.

Tipo, quando ele retorna a busca digamos q eu tenha Joao,jose e juliana e eu coloque pra exibir 2 resultados por pag.

aparece assim:

Joao

Jose

(pag) 1 2

ai quando eu clico na pagina 2 q seria pra mostar a juliana aparece na pagina 2 só q assim:

Joao

Jose

(pag) 1 2 3

ai clico na 3 e aparece a juliana mas na também aparece os outros valores do banco : (maria, antonio, pedro, etc...) entendem?

Ou seja, ele ta retornando os resultados do banco todo quando eu clico na pag 2.

Creio eu q seja algum erro na hora dos botões mas sei lá, to começando com php e queria uma ajudinha.

Quem puder ajudar eu agradeço.

aki o Codigo

<?php
mysql_connect("localhost","root","");
mysql_select_db("friends");

$limites = array();
$numreg = 2;
$paginas = array();


if (@$_GET['p'])
{
    $paginas['atual'] = $_GET['p'];
}
else
{
    $paginas['atual'] = 1;
}

$paginas['limiteAnterior'] = $paginas['atual'] - 1;

$inicio = $numreg * $paginas['limiteAnterior'];

$busca = $_GET['buscar'];
$consulta = mysql_query("SELECT * FROM dados WHERE nome LIKE '%$busca%' LIMIT $inicio,$numreg");     ;
while($reg= mysql_fetch_assoc($consulta)){
print
'<tr>
<td><form method="get" action="remover_cliente.php"><input type="checkbox" name="remove" value="'.$reg['nome'].'"></td><td>'.$reg['nome'].'</td><td>'.$reg['end'].'</td><td>'.$reg['bairro'].'</td>
<td>'.$reg['tel'].'</td><td>'.$reg['email'].'</td><td>'.$reg['vencimento'].'</td><td>'.
$reg['rede'].'</td><td>'.$reg['mac'].'</td><td>'.$reg['ip'].'</td><td><input class="buttom" type="submit" value="excluir"></tr>';
}

$conn = mysql_query("SELECT * FROM dados WHERE nome LIKE '%$busca%'");
$paginas['total'] = ceil( ( mysql_num_rows($conn) / $numreg ) );
for($botoes['atual'] = 1; $botoes['atual'] <= $paginas['total']; $botoes['atual']++)
{
    if ($paginas['atual'] == $botoes['atual'])
    {
        // Sem link, pois é a página corrente
        print('<b>'.$botoes['atual'].'</b> | ');
    }
    else
    {
        // Com link, pois não é a página corrente
        print('<a href="'.$_SERVER['PHP_SELF'].'?p='.$botoes['atual'].'">'.$botoes['atual'].'</a> | ');
    }
}
?>

Vlw

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O problema acontece porque o valor para $busca só existe na primeira página, depois disso, como você colocar '%$busca%' e busca está vazio, então fica '%%', e ai vem tudo do BD mesmo...

Ai você tem duas alternativas:

1 - Junto com a página passar o que você está procurando, por exemplo, atualmente os links aparecem:

paginatal.php?p=xxx

(onde xxx é o número da página)

Ai você deve alterar para:

paginatal.php?p=xxx&buscar=yyy

Onde yyy é o que você está buscando... se for utilizar esse método, lembre-se de utilizar o urlencode.

2 - Você testar se $_GET['buscar'] está setada (isset), se estiver você cria uma sessão com o valor vindo do $_GET..., caso contrário, é porque o $_GET não está setado, então o cara ou não está na primeira página ou voltou para a primeira, nesse caso você deve pegar o valor da sessão que foi gravada e atribuir para a variável $busca...

Algo do tipo:

if(isset($_GET['buscar'])){
$_SESSION['bsc'] = $_GET['buscar'];
$busca = $_GET['buscar'];
}else{
$busca = $_SESSION['bsc'];
}

Lembre-se de colocar o session_start() no topo do script.

Link para o comentário
Compartilhar em outros sites

  • 0

caraca, justamente o que eu estava pensando só nah sabia como fazer hehe

coloquei dessa forma:

print('<a href="'.$_SERVER['PHP_SELF'].'?p='.$botoes['atual'].'&buscar='.$busca.'">'.$botoes['atual'].'</a> | ');

funcionou certinho ^^

Vlw cara..já tava suando de tanto pensar hehe...brigadão mesmo

falou

Link para o comentário
Compartilhar em outros sites

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,2k
    • Posts
      652,1k
×
×
  • Criar Novo...