CrazyLOL 2 Denunciar post Postado Agosto 28, 2012 Bom estou com uma problema na realização de uma paginação minha aqui no site. é o seguinte, no meu site na pagina principal tem algumas CATEGORIAS exemplo de uma é ADMINISTRAÇÃO, bom quando a pessoa clica nessa categoria é passando pelo GET um id da ADMINISTRACAO no caso é 1 e na proxima pagina mostra as pessoas cadastradas nessa categoria. Sendo que realiza um select procurando todas as pessoas cadastradas na categoria = 1 ( admin ). Bom até acho que todos entenderam certo? Agora vem o caso... Esse codigo abaixo é a pagina que recebe meu GET... <?php $id_cu = $_GET['id']; $numreg = 10; // InicioPaginacao if (!isset($pg)) { $pg = 0; } $inicial = $pg * $numreg; #FIM PAGINACAO if($_POST['filtrar'] == 'Filtrar') { $b_area = $_POST['b_area']; $b_tempo = $_POST['b_tempo']; $b_sexo = $_POST['b_sexo']; $b_idade =$_POST['b_idade']; # checa se a idade é <= 18 if($b_idade == 1){ $sql = mysql_query("SELECT * FROM ec_curriculo where ob_area='$b_area' and ob_tempo='$b_tempo' and cd_sexo='$b_sexo' and cd_idade <= '18' LIMIT $inicial, $numreg"); $sql_conta = mysql_query("SELECT * FROM ec_curriculo where ob_area='$b_area' and ob_tempo='$b_tempo' and cd_sexo='$b_sexo' and cd_idade <= '18'"); }else { // Faz o Select pegando o registro inicial até a quantidade de registros para página $sql = mysql_query("SELECT * FROM ec_curriculo where ob_tp_curriculo='".$id_cu."' order by data_cadastro desc LIMIT $inicial, $numreg"); // Serve para contar quantos registros você tem na seua tabela para fazer a paginação $sql_conta = mysql_query("SELECT * FROM ec_curriculo where ob_tp_curriculo='".$id_cu."' order by data_cadastro desc"); } $quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação include("../vagas/paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >> echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo while ($s = mysql_fetch_array($sql)) { ?> Bem, e aqui é o arquivo paginação; <style type="text/css"> <!-- .pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none} a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none} a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; text-decoration:underline} --> </style> <?php $quant_pg = ceil($quantreg/$numreg); $quant_pg++; // Verifica se esta na primeira página, se nao estiver ele libera o link para anterior if ( $pg > 0) { echo "<a href=".$PHP_SELF."?pg=".($pg-1) ."class=pg><b>« anterior</b></a>"; } else { echo "<font color=#CCCCCC>« anterior</font>"; } // Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO for($i_pg=1;$i_pg<$quant_pg;$i_pg++) { // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente if ($pg == ($i_pg-1)) { echo " <span class=pgoff>[$i_pg]</span> "; } else { $i_pg2 = $i_pg-1; echo " <a href=".$PHP_SELF."?pg=$i_pg2 class=pg><b>$i_pg</b></a> "; } } // Verifica se esta na ultima página, se nao estiver ele libera o link para próxima if (($pg+2) < $quant_pg) { echo "<a href=".$PHP_SELF."?pg=".($pg+1)." class=pg><b>próximo »</b></a>"; } else { echo "<font color=#CCCCCC>próximo »</font>"; } ?> Minha questão é quando a pessoa clica por exemplo no LINK 2 que iria para pagina 2 e mostrar o restante não está indo, provalvmente é porque o ID_CU que pega o id da categoria não está sendo passada certo? Como que ficaria nesse caso? Agradeço já antecipadamente e peço desculpas caso nao fui claro suficiente.. obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Jacinto 74 Denunciar post Postado Agosto 28, 2012 Depende, muita das vezes, as URLs Amigáveis podem provocar erros quantos aos métocos $_GET's. Isso já ocorreu comigo várias vezes. OU Tente mudar seu for para isto: for($i_pg=1;$i_pg <= $quant_pg;$i_pg++) { Porque eu não vi erro nenhum em seu código. Bem, pelo menos eu. Outros podem achar. Compartilhar este post Link para o post Compartilhar em outros sites
CrazyLOL 2 Denunciar post Postado Agosto 29, 2012 Então Gabriel, ele não tem erros (até agora) questão é essa que tentei explicar mesmo. Quando eu clico para ir na pagina 2 onde deveria continuar meu registro não está indo, fiquei meio sem entender o que posso fazer.. =/ Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Jacinto 74 Denunciar post Postado Agosto 29, 2012 Então. É nisso, divide o conteúdo corretamente, mas ao receber o ?pg=2, a URL Amigável pode dar erros quanto à isso. Tente testá-lo com o endereço completo, se você utilizar. Compartilhar este post Link para o post Compartilhar em outros sites
CrazyLOL 2 Denunciar post Postado Agosto 31, 2012 Não deu certo também... Que coisa.. =/ Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Jacinto 74 Denunciar post Postado Agosto 31, 2012 Vou te passar um script que possuo aqui: <?php //inclusão da conexão com banco de dados //A quantidade de valor a ser exibida $quantidade = 3; //a pagina atual $pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1; //Calcula a pagina de qual valor será exibido $inicio = ($quantidade * $pagina) - $quantidade; //Monta o SQL com LIMIT para exibição dos dados $sql = "SELECT * FROM tabela ORDER BY id DESC LIMIT $inicio, $quantidade"; //Executa o SQL $qr = mysql_query($sql) or die(mysql_error()); //Percorre os campos da tabela while($n=mysql_fetch_object($qr)){ echo $n->nome . "<br>"; } /** * SEGUNDA PARTE DA PAGINAÇÃO */ //SQL para saber o total $sqlTotal = "SELECT id FROM tabela"; //Executa o SQL $qrTotal = mysql_query($sqlTotal) or die(mysql_error()); //Total de Registro na tabela $numTotal = mysql_num_rows($qrTotal); //O calculo do Total de página ser exibido $totalPagina= ceil($numTotal/$quantidade); //link para primeira página echo '<a href="?pagina=1" class="button2">Primeira Página</a> - '; //loop para mostra a os links da paginação for($i = 1; $i <= $totalPagina; $i++){ if($i == $pagina) echo $i; else echo " <a href=\"?pagina=$i\" class=\"button2\">$i</a> "; } //link para ultima página echo " - <a href=\"?pagina=$totalPagina\" class=\"button2\">Última Página</a>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
CrazyLOL 2 Denunciar post Postado Setembro 1, 2012 Obrigado Gabriel, essa segunda parte você coloca tudo no mesmo arquivo certo?! Compartilhar este post Link para o post Compartilhar em outros sites