Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Criei o código abaixo, para exibir o resultado de uma busca feita no BD MYSQL com mais de 42.000 registros. A princípio o código é simples, mas o que está acontecendo é o seguinte:Defini para que a páginação seja feita de 20 em 20 registros, a principio ela executa o código perfeitamente, na primeira página, mostrando os 20 registros iniciais, a quantidade total de registros encontrados na consulta, mas quando eu clico para ir para a próxima página, o código simplesmente me retorna todo o conteudo do BD desde o primeiro registro até o último existente na tabela, mas mostrando de 20 em 20 ... no que está de errado no código, que a partir da 2ª página em diante ele simplesmente exibe o conteudo total da tabela e não apenas os solicitados na consulta ?
> <?phpfunction getmicrotime(){ list($sec, $usec) = explode(" ",microtime()); return ($sec + $usec); } $time_start = getmicrotime();include"conexao.php";$busca = "SELECT * FROM estoque WHERE COD_PROD LIKE '%$codpec%' ORDER BY DESCRICAO ASC"; $achado = mysql_query("SELECT * FROM estoque WHERE COD_PROD LIKE '%$codpec%' ORDER BY DESCRICAO ASC");$totreg = mysql_num_rows($achado);$total_reg = "20";if (!$pagina) {$pc = "1";} else {$pc = $pagina;}$inicio = $pc - 1;$inicio = $inicio * $total_reg;$limite = mysql_query("$busca LIMIT $inicio,$total_reg");$todos = mysql_query("$busca");$tr = mysql_num_rows($todos); // verifica o número total de registros$tp = $tr / $total_reg; // verifica o número total de páginas?><table align="center" width='80%' bordercolor="#1D4A83" border='1' cellspacing='0' cellpadding='0'> <tr bgcolor='#1D4A83'> <td><div align="left"><img src="imagem/hyundai.jpg"></div></td> <td><font class="menu"><b>RESULTADO DA PESQUISA POR CÓDIGO DO PRODUTO</b></font></td> <td><div align="right"><img src="imagem/subaru.jpg"></div></td> </tr></table><table align="center" width='80%' border='0' cellspacing='1' cellpadding='0'> <tr bgcolor='#1D4A83'> <td align="center" width="20%"><font class="menu"><b>Código do Produto</b></font></td> <td align="center" width="50%"><font class="menu"><b>Descrição do Produto</b></font></td> <td align="center" width="30%"><font class="menu"><b>Aplicação</b></font></td> </tr><?//while ($dados = mysql_fetch_array($limite)) While($hp=mysql_fetch_array($limite)) {//$linhas++;echo " <tr bgcolor='#f5deb3'> <td align='left' width='20%'><font face='Arial, Helvetica, sans-serif' size='1' color='#000000'> ".$hp['COD_PROD']."</font></td> <td align='left' width='50%'><font face='Arial, Helvetica, sans-serif' size='1' color='#000000'> ".$hp['DESCRICAO']."</font></td> <td align='left' width='30%'><font face='Arial, Helvetica, sans-serif' size='1' color='#000000'> ".$hp['APLICACAO']."</font></td> </tr>";}?></table><table align="center" width='80%' border='0' cellspacing='1' cellpadding='0'><tr bgcolor='#1D4A83'> <td> <? // agora vamos criar os botões "Anterior e próximo" $anterior = $pc -1; $proximo = $pc +1; if ($pc>1) { echo "<a class='menu' href='index.php?area=porpeca&pagina=$anterior'><b>Página Anterior</b></a> "; } ?> </td> <td> <? if ($pc<$tp) { echo "<a class='menu' href='index.php?area=porpeca&pagina=$proximo'><b>Próxima Página</b></a>"; } ?> </td></tr></table> <table align="center" width='80%' border='0' cellspacing='1' cellpadding='0'> <tr bgcolor='#1D4A83'> <td align="center"><font class="menu"><b>Total de Produtos encontrados: <? echo "$totreg" ?></b></font></td> <td align="center"><font class="menu"><b><a class="menu" href="?area=estoque">Efetuar nova pesquisa</a></b></font></td> </tr> </table></table><table align="center" width='80%' border='0' cellspacing='0' cellpadding='0'><tr> <td align="center"><?$time_end = getmicrotime(); $time = $time_end - $time_start; $texto=printf ("<font face='Arial, Helvetica, sans-serif' size='1' color='#000000'>Pesquisa realizada em <b>%.6f</b> segundos</font>",$time); // Onde esta o "6" e o numero de digitos?> </td></tr></table><br>
Desde já agradeço pela ajuda !
E ai bcara ja conseguiu resolver?Se não provavelmente o erro esta nos links das paginas, ta faltando você passa parametro pra eles.Da uma olhada no endereço da primeira pagina (a q esta funcionando) e nas outras você vai ve q o endereço esta sem a restrição de resultados.