Ir para conteúdo

Arquivado

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

ivo junior

problemas com páginação

Recommended Posts

Consegui 3 códigos de páginação. Só que nenhum deles funciona corretamente quando eu uso 'like' na query select. quando clicko no link p/ próxima página ele mostra todos os resultados da tabela. 'Todos' até os que eu não selecionei no formulário.Preciso fazer uma busca em algumas palavras que estão em um texto inserido em uma tabela do BD.Só da pra fazer com like? putz! Alguém me ajudaí urgente!!!!!!!!! :o Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha!

Em %palavra%, o '%' tá indicando que a 'palavra' esta no meio do texto,pois se fosse 'palavra%' esta estaría no inicio.

 

Foi assim que eu entendi, e a consulta da certo. Só que quando tento visualizar a próxima página, ela aparece só que érefeita uma nova consulta com todos os dados da tabela, até com os que eu não quis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo, suponhamos que na 1ª página tenha 20 resultados, você faz um select pra buscar no 0 ao 20, usando o limit 0,20, na segunda você faz a busca dos 20 aos 40, limit 20,40, você pode pegar o valor da barra de endeço exemplo (a variavel do endereço é pag):

if (!$pag) {$pc = 1;} else {$pc = $pag;}$reg = "20"; // Número de registros por página$busca2 = $pc - 1;$inicio= $busca2 * $reg;$fim = $busca + $reg;$bd_busca = mysql_query("SELECT * FROM tabela where nome like '%palavra' limit $inicio,$fim");

Ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou fazer isso!Só gostaria de saber Se eu faço isto junto com o código que eu já tenho ouesta já é a consulta. Neste caso eu devo retirar a forma de consulta que eujá tinha. Entendeu!Valeu brother!!!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, tu vaiz me desculpar a lentidão, Mas como assim, pegar o valor da barra de endereço.Quem seria '$pag'?Foi mal!Já tô meio confuso de tanto tentar mudar essa parada!Mas, vamo lá!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já sei!É melhor você vê a páginação!Essa é a parte principal! function getmicrotime(){ list($sec, $usec) = explode(" ",microtime()); return ($sec + $usec); } $time_start = getmicrotime(); //##################################################################### $arquivo = "$php_self";// COLOQUE AQUI O NOME DADO A ESTE ARQUIVO //CASO você TENHA QUE UTILIZAR OUTRAS VARIÁVEIS JUNTO COM A VARIÁVEL (id) COLOQUE JUNTO EXEMPLO: "index.php?moldura=$mold&" $banco = "base"; // NOME DO BANCO DE DADOS $endereco = "localhost"; // ENTRE COM O ENDEREÇO DO BANCO DE DADOS $usuário = "root"; // NOME DE USUÁRIO DO MYSQL $password = ""; // SENHA DO MySQL $maxpag =2; // MÁXIMO DE RESULTADOS POR PÁGINA $maxlnk = 10; // MÁXIMO DE LINKS POR PÁGINA if ($id == ''){$param = 0;} else { $temp = $id; $passo1 = $temp - 1; $passo2 = $passo1*$maxpag; $param = $passo2;} //##################################################################### $res = mysql_connect("$endereço", "$usuario", "$passord"); $sql = "select * from prod where mod like '%$tipos%$sexo%$cores%$tam%$tecido%$modelo%$marca%'"; $sql_01 = "select * from prod where mod like '%$tipos%$sexo%$cores%$tam%$tecido%$modelo%$marca%' limit $param,$maxpag"; $res1 = mysql_db_query("$banco", "$sql", $res); $res2 = mysql_db_query("$banco", "$sql_01", $res); $totreg = mysql_num_rows($res1); $totreg_01 = mysql_num_rows($res2); //##################################################################### $results_tot = $totreg; $results_parc = $totreg_01; $result_div = $results_tot/$maxpag; $n_inteiro = (int)$result_div; if ($n_inteiro < $result_div) {$n_paginas = $n_inteiro + 1;} else {$n_paginas = $result_div;} $pg_atual = $param/$maxpag+1; $reg_inicial = $param + 1; $pg_anterior = $pg_atual - 1; $pg_proxima = $pg_atual + 1; $time_end = getmicrotime(); $time = $time_end - $time_start; ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

me desculpa na demora pra te responder.Meu brother ta fazendo um trablho no computa!Vamos ao que interessa!O problema é que quando eu tento visualizar a próxima página a consulta é refeita e aparecem todos os dados da tabelaEX: a tabela tem 40 produtos.Faço uma consulta que tem 20 produtos de resultado. blza!A página me mostra os 10 primeiros.MASSSS, quando visualizo a próxima página com os outros 10 a consulta me retorna os 40 resultados. até os que eu não quis.Esse é o infeliz(erro)!Sim! em que trecho eu poderia colocar a variável que você me falô?

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.