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

Problema com Busca & Paginação


Brenno Ferreira Santiago

Pergunta

To fazendo um script de busca e junto acoplei um de paginação...

Quando eu faço a busca, da certo, mas quando eu avanço pra segunda pagina não aparece nada..

Se alguém souber me falar onde está esse erro, fico grato

<form action="index.php" method="post">
<input type="text" name="busca" /><br />
<input type="submit" name="botao" value="enviar" /><br />
</form>

<?
if($_POST['botao']==enviar){
    if(isset($_GET['bsc'])){
        $busca=$_GET['bsc'];
    }else{
        $busca=$_POST['busca'];
    }

mysql_connect("localhost", "root", "");
mysql_select_db("testando");

$re = mysql_query("SELECT count(*) as total FROM usuarios");
$total = mysql_result($re, 0, "total");

$pagina = 0;
if(isset($_GET["pagina"])) {

$pagina = $_GET["pagina"];

}

$limite = 5;
$paginas = ceil($total / $limite);

$inicio = $pagina * $limite;

$sql = mysql_query("SELECT * FROM usuarios WHERE usuarios like '%$busca%'LIMIT $inicio, $limite");

$conta = mysql_num_rows($sql);

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

$nome = $l["usuarios"];
echo "$nome<br>";

}
if($busca!=' '){
#################################
if($pagina > 0) {
$menos = $pagina - 1;
$urla = $_SERVER["PHP_SELF"]."?pagina=".$menos."&bsc=".$busca;
echo "<a href='$urla'>Anterior</a>";
}
for($i = 1;$i < $paginas; $i++) {
$urln = $_SERVER["PHP_SELF"]."?pagina=".$i."&bsc=".$busca;
echo " | <a href='$urln'>$i</a>";
}
if($pagina < $paginas - 1) {
$mais = $pagina + 1;
$urlp = $_SERVER["PHP_SELF"]."?pagina=".$mais."&bsc=".$busca;
echo " | <a href=\"$urlp\">Próxima</a>";
}
##################################
}else{

if($pagina > 0) {
$menos = $pagina - 1;
$urla = $_SERVER["PHP_SELF"]."?pagina=".$menos;
echo "<a href='$urla'>Anterior</a>";
}
for($i = 1;$i < $paginas; $i++) {
$urln = $_SERVER["PHP_SELF"]."?pagina=".$i;
echo " | <a href='$urln'>$i</a>";
}
if($pagina < $paginas - 1) {
$mais = $pagina + 1;
$urlp = $_SERVER["PHP_SELF"]."?pagina=".$mais;
echo " | <a href=\"$urlp\">Próxima</a>";

}

}
}//fecha if
?>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

nussa nem tendi o q c fei zhuahuhahuaha

bom paginação he o seguinte. como funciona?

você vai faze ruma query primaria que vai contar todos seus resultados

select * from table da vioda já resolve dai você faz um count

este valor do count você divide usando "CEIL"

por ex: $paginas=CEIL($seucount/$numerodpag);

pra q serve o ceil c tiver por 11/10

ele vai retornar 2

ele não vai fracionar

entaum de 11 itens 10 por pag você tem 2 paginas

dai você refaz a query

so que assim select * form table limit $x,$nuporpag;

onde $x é $numeroporpag*$numero da pag

SOOO que se o numero da pag for 0 OU nullo você faz um if pra tornar variavel X = 0

rss tendeu? não ne huahua olha o cod em baixo :D HUAHUA

<?

$sqlb="select * from prod where id_cat='$dd' order by titulo ASC";

$queryb = mysql_query($sqlb);

$conta= mysql_num_rows($queryb);

$paginas=ceil($conta/10);

$paginas--;

if($pag==""){

$pag="0";

}

$prox=$pag+1;

$ant=$pag-1;

$paga=$pag+1;

$paginasa=$paginas+1;

print("

<strong><font color='#FFFFFF'>$paga/$paginasa</font></strong><br /><br />

");

print("<div id='lista' style='margin-top: 20px;'>");

if($pag=="0"){

print("<img src='img/seta_dir.gif'>");

} elseif($pag>0){

print("<a href='?a=$a&dd=$dd&ff=$ff&pag=$ant'><img src='img/seta_dir.gif' border='0'></a>");

}

if($pag=="0"){

$x=0;

} else {

$x=($pag*10)+0;

}

$sqlc="select * from prod where id_cat='$dd' order by titulo ASC limit $x, 10";

$queryc = mysql_query($sqlc);

while($resultc=mysql_fetch_array($queryc)){

print("<a href='?a=$a&dd=$dd&ff=$resultc[id]'><img class='ft_link' src='prod/$resultc[foto]' title='$resultc[titulo]' alt='$resultc[titulo]' width='50' height='50' border='0'/></a>");

}

if($pag<$paginas){

print("<a href='?a=$a&dd=$dd&ff=$ff&&pag=$prox'><img src='img/seta_esq.gif' border='0'></a>");

} else {

print("<img src='img/seta_esq.gif'>");

}

}

?>

foi esse maravilhoso POG q eu fiz no meu ultimo site huahuahuahuahu ele poe seta pra prox pag e pag anterior caso tenha prox pagina

Link para o comentário
Compartilhar em outros sites

  • 0

Mas brother, meu problema ta é na hora de junta a paginação com o sistema de busca...

Quando eu faço a busca mostra blza..

Mas quando eu clico na segunda página, ele deveria mandar o valor inserido no form e manda devolta por $_GET[''] e fazer a busca novamente.. mas começando da da segunda pagina...

Mas isso não acontece...

Editado por Brenno Ferreira Santiago
Link para o comentário
Compartilhar em outros sites

  • 0

mas é simples tipo assim vamos supor q você faz a busca no seu form o name do campo é busca

então você vai ter uma $busca

no link de prox pag você poe &busca=$busca deois da variavel da pag

e na queri você sempre faz a mesma coisa select * from tabela where id like '%$busca%' or seila like '%$busca%' tanto na queri q conta os resultadosquanto na q exibe os resultados

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