brunocasado Postado Abril 28, 2008 Denunciar Share Postado Abril 28, 2008 galera como fazer uma paginaçao com opçao de limite? tipo igual do forum que você selecina em um combo list quantos registros exibir por paginavou postar meu codigo e c der me deem uma luz de como adequar isso<?php include "connection_mysql.inc"; // Obtém Página $pagina = $_GET["pagina"]; if($pagina == ""){ $pagina = "1"; } // Máximo de Registros $maximo = 5; // creio eu que terei que resgatar um valor aqui do campo mais n estu conseguindo// // Calculando o registro inicial $inicio = $pagina - 1; $inicio = $maximo * $inicio; //------------------------------------------------------// $resultado = mysql_query("SELECT * FROM product_scr LIMIT $inicio,$maximo"); $linhas = mysql_num_rows($resultado); echo "<table border='1' align='center' width='600'>"; echo "<tr>"; echo "<td><strong>Serial</strong></td>"; echo "<td><strong>Prod. Date</strong></td>"; echo "<td><strong>Model</strong></td>"; echo "<td><strong>HWREV</strong></td>"; echo "<td><strong>FWREV_Major</strong></td>"; echo "<td><strong>FWREV_MINOR</strong></td>"; echo "</tr>"; if($linhas==0) { echo "Produto(s) Não Encontrados"; }else{ for ($i=0;$i<$linhas;$i++) { $registro = mysql_fetch_row($resultado); echo "<tr>"; echo "<td width='10'><div align='center'>$registro[0]</div></td>"; echo "<td width='150'>$registro[1]</td>"; echo "<td width='15'>$registro[2]</td>"; echo "<td width='15'>$registro[3]</td>"; echo "<td width='15'>$registro[4]</td>"; echo "<td width='15'>$registro[5]</td>"; echo "</tr>"; } } // Calculando pagina anterior $menos = $pagina - 1; // Calculando pagina posterior e linhas $mais = $pagina + 1; $strcount = "SELECT COUNT(*) AS 'NUM_REGISTRO' From product_scr"; $query = mysql_query($strcount); $row = mysql_fetch_array($query); $total = $row["NUM_REGISTRO"]; $pgs = ceil($total / $maximo); if($pgs > 1 ) { // Mostragem de pagina if($menos > 0) { echo " <a href=\"?pagina=$menos&\" class='texto_paginacao'>anterior</a> "; } // Listando as paginas for($r=1;$r <= $pgs;$r++) { if($r != $pagina) { echo " <a href=\"?pagina=".($r)."\" class='texto_paginacao'>$r</a> "; } else { echo "<strong lass='texto_paginacao_pgatual'>".$r."</strong>"; } // if($mais <= $pgs) { // echo " <a href=\"?pagina=$mais\" class='texto_paginacao'>próxima</a> "; // } } } mysql_close($conexao); echo "</table>"; ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 28, 2008 Denunciar Share Postado Abril 28, 2008 Veja se isso te ajuda ...if(!isset($_GET['pagina'])) $pagina = 1; else $pagina = $_GET['pagina']; $tot_reg = count($registros); // Total de registros onde registros é o vetor que armazena em cada campo os valores de cada coluna da tabela $reg_pag = 10; // Registros por página $qtd_pag = ceil($tot_reg/$reg_pag); // Quantidade de páginas $round_reg_pag_final = ceil($tot_reg/$reg_pag); if($pagina==$qtd_pag) { $reg_pag_final2 = (($tot_reg/$reg_pag)-$round_reg_pag_final); $reg_pag_final1 = $reg_pag_final2*$reg_pag; $reg_pag_final = $reg_pag_final1 * (-1); } $valor_inicial = (($pagina-1)*$reg_pag)+1; if($pagina!=$qtd_pag) $valor_final = $pagina*$reg_pag; else $valor_final = $tot_reg-1; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 brunocasado Postado Abril 28, 2008 Autor Denunciar Share Postado Abril 28, 2008 cara.... o que eu quero é o seguinteem um combo list igual ao de varios forum tenha opçoes com limites de registros por paginaexemplCOMBO OPÇOES: 10203040bom ai la na variavel do maximo do meu codigo ele teria que resgatar a opçao do combo que eu selecionar.... eu não quero definir um total estatico mais sim dar a opçao ao cara que visita a pagina escolher quantos registros por paginaigual os foruns.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 28, 2008 Denunciar Share Postado Abril 28, 2008 (editado) Ah sim, então no campo select você coloca o parâmetro onChange e depois dá um refresh na página, pega a opção selecionada com php e guarda em uma variável e depois substitui aquele 10 pela variável. Editado Abril 28, 2008 por Renato Penna Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 brunocasado Postado Abril 28, 2008 Autor Denunciar Share Postado Abril 28, 2008 intao cara eu tentei fazer isso mais acho que não to sabendola na variavel maximo coloquei um GET e o nome do combo list.. porem não funfou....tentei assim$maximo = $_GET["combo"]e assim ou tem outro jeito? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 28, 2008 Denunciar Share Postado Abril 28, 2008 Na página que você está fazendo aparece ... www.nome_site.com.br?combo=20 por exemplo ? Ou seja, aparece o valor da variável combo na barra de endereços do navegador ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 brunocasado Postado Abril 28, 2008 Autor Denunciar Share Postado Abril 28, 2008 não cara apenas issohttp://localhost/resultados.php?pagina=1& Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 28, 2008 Denunciar Share Postado Abril 28, 2008 Então faça o seguinte:Se a sua página existir outros campos de foemulário além do select, coloque esse combo em um formulário a parte com o parâmetro method igual a post. Depois nesse select coloque ... <select name="combo" onChange="recarregar();"> ... </select> <script language='JavaScript'> function recarregar() { window.nome_formulario.combo.submit(); } </script> <?php if(isset($_POST['combo'])) { $tot_reg = $_POST['combo']; } ?>Depois disso é só usar aquele script sem a linha $tot_reg=10; Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
brunocasado
galera como fazer uma paginaçao com opçao de limite? tipo igual do forum que você selecina em um combo list quantos registros exibir por pagina
vou postar meu codigo e c der me deem uma luz de como adequar isso
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
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.