Guilherme014 Postado Janeiro 30, 2005 Denunciar Share Postado Janeiro 30, 2005 // Dados para conexão mySQL define ("host", "127.0.0.1"); define ("conta", "guilherme"); define ("senha", "gui417"); define ("database", "advogados"); // Cria a classe para paginação class Paginacao_Bonita { // Variáveis de classe var $rpp = 10; // Registros Por Página var $pagina; var $paginas; var $limite; var $dados = array(); // Construtor function Paginacao_Bonita() { mysql_pconnect (host, conta, senha); mysql_select_db (database); } // Recebe a numeração de página enviada function Recebe_Dados() { // Obtêm dados em path da URL $this->pagina = $_SERVER["PATH_INFO"]; // Separa as informações obtidas $temp = explode ("/", $this->pagina); // Armazena a página $this->pagina = $temp[1]; } // Verifica a página recebida function Verifica_Pagina() { // Verifica se não é numérica a página if (!is_numeric ($this->pagina)) : $this->pagina = 1; endif; } // Obtêm o total de registros function Total_Registros() { // SQL de contagem $sql = "SELECT COUNT(vocabularioid) FROM vocabulario"; // Executa o SQL de contagem $sql = mysql_query ($sql); // Obtêm os resultados em uma matriz $sql = mysql_fetch_row ($sql); // Armazena o número de registros $this->paginas = $sql[0]; } // Calcula o total de páginas function Total_Paginas() { $this->paginas = ceil ($this->paginas / $this->rpp); } // Verifica o pedido de página function Verifica_Paginas() { // Verifica se a página requisitada não existe if ($this->pagina > $this->paginas) : $this->pagina = $this->paginas; endif; } // Calcula o limite para exibição function Calcula_Limite() { $this->limite = (($this->pagina - 1) * $this->rpp); } // Obtêm os dados do intervalo atual function Seleciona_Dados() { // SQL de seleção $sql = "SELECT * FROM vocabulario WHERE vo_status=1 ORDER BY letraid ASC LIMIT " . $this->limite . ", " . $this->rpp; // Executa o SQL de contagem $sql = mysql_query ($sql); // Contador auxiliar $i = 0; // Armazena em uma matriz os resultados while ($this->dados[$i] = mysql_fetch_assoc ($sql)) : $i++; endwhile; // Elimina o último índice, pois está vazio array_pop ($this->dados); } // Cria o HTML da paginação function Mostra_Paginacao() { // Primeiro $paginacao = ($this->pagina == 1) ? "<= Primeiro" : "<= <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/1/\">Primeiro</a>"; // Anterior $paginacao .= (($this->pagina - 1) <= 0) ? " | « Anterior" : " | « <a href=\"". $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina - 1) . "/\">Anterior</a>"; // -3 $paginacao .= (($this->pagina - 3) <= 0) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina - 3) . "/\">" . ($this->pagina - 3) ."</a>"; // -2 $paginacao .= (($this->pagina - 2) <= 0) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina - 2) . "/\">" . ($this->pagina - 2) ."</a>"; // -1 $paginacao .= (($this->pagina - 1) <= 0) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina - 1) . "/\">" . ($this->pagina - 1) ."</a>"; // Atual $paginacao .= " | <strong>[" . $this->pagina . "]</strong>"; // +1 $paginacao .= (($this->pagina + 1) > $this->paginas) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina + 1) . "/\">" . ($this->pagina + 1) ."</a>"; // +2 $paginacao .= (($this->pagina + 2) > $this->paginas) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina + 2) . "/\">" . ($this->pagina + 2) ."</a>"; // +3 $paginacao .= (($this->pagina + 3) > $this->paginas) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina + 3) . "/\">" . ($this->pagina + 3) ."</a>"; // Próximo $paginacao .= (($this->pagina + 1) > $this->paginas) ? " | Próximo »" : " | <a href=\"". $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina + 1) . "/\">Próximo</a> »"; // Último $paginacao .= ($this->pagina == $this->paginas) ? " | Último =>" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->paginas) . "/\">Último</a> =>"; // Retorna a variável de paginação echo $paginacao; } } // Instancia a classe e executa suas rotinas $foo = new Paginacao_Bonita(); $foo->Recebe_Dados(); $foo->Verifica_Pagina(); $foo->Total_Registros(); $foo->Total_Paginas(); $foo->Verifica_Paginas(); $foo->Calcula_Limite(); $foo->Seleciona_Dados(); foreach ($foo->dados as $dados) : ?> <div align="left" style="font: 70% verdana; border: 1px solid #CCCCCC; padding: 5px; margin: 5px; background-color: #F5F5F5;"> <table border="0" cellpadding="0" cellspacing="0" width="*"> <tr> <td width="109"> PALAVRA: <br /> </td> <td width="168"><strong><? echo $dados["vo_nome"]; ?></strong></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> DESCRIÇÂO: <br /> </td> <td><div align="justify"><strong><? echo $dados["vo_descricao"]; ?></strong></div></td> </tr> </table> </div> <? endforeach; ?> <br /><div align="center" style="font: 70% verdana;"> <? $foo->Mostra_Paginacao(); ?> </div> o normal da pagina e assim:http://localhost/advogados/vocabularios.php quando clico em dois, aparece assim:http://localhost/php/php.exe/2/ como faço para aparecer assim:http://localhost/localhost/advogados/vocabularios.php/2/ ou similar valeu guilherme Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gladisson Postado Janeiro 30, 2005 Denunciar Share Postado Janeiro 30, 2005 Coloque um outra variavel no lugar dessa $_SERVER["SCRIPT_NAME"] com um valor http://localhost/advogados/vocabularios.php/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Janeiro 30, 2005 Autor Denunciar Share Postado Janeiro 30, 2005 Coloque um outra variavel no lugar dessa $_SERVER["SCRIPT_NAME"] com um valor http://localhost/advogados/vocabularios.php/ deu erro.....valeu guilherme Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guilherme014
o normal da pagina e assim:
quando clico em dois, aparece assim:
como faço para aparecer assim:
ou similar
valeu
guilherme
Link para o comentário
Compartilhar em outros sites
2 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.