8

Paginação de Resultados em PHP

Posted by Ana Claudia on abr 10, 2007 in Javascript, PHP

Olá pessoal, estou de volta!
Hoje vou demonstrar o funcionamento de uma paginação simples. Como sempre adaptada aos meus interesses de scripts que eu achei pela web.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?
 $pagina = $_GET["pagina"];
 $conn = mysql_connect($local,$user,$senha) or die("Erro de conexao\r".mysql_error());
	mysql_select_db($db,$conn);
 $SQL = mysql_query("SELECT * FROM estado") or die(mysql_error());
 $Qtde = 10;
 $Total = mysql_num_rows($SQL);
 $Paginas = ceil($Total/$Qtde);
 if(empty($pagina)){
   $limit = 0;
   $PaginaCorrente = 1;
 } else  {
   $limit = $pagina-1;
   $PaginaCorrente = $pagina;
 }
 $inicio = $limit * $Qtde;
 $SQL = mysql_query("SELECT * FROM estado Limit $inicio,$Qtde");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Exemplo - Paginação de Resultados em PHP</title>
</head>
<body>
 <form id="frm_resultados" action="<?=$PHP_SELF?>" method="post">
 <?
     while($Linha = mysql_fetch_array($SQL)){
       echo "$Linha[2] - $Linha[1]<br />\r";
     }
     if($pagina > 1){
	$menos = $pagina -1;
	$url ="$PHP_SELF?pagina=$menos";
	echo "<a href='".$url."'>Anterior</a> |";
    }
    echo " Página $PaginaCorrente de $Paginas ";
    if($pagina < $Paginas)
   {
      $mais = $pagina+1;
      $url ="$PHP_SELF?pagina=$mais";
     echo " | <a href='".$url."' >Próxima</a>";
   }
   echo " Ir para a página <input type='text' id='pagina' size='3'    maxlength='3' value=\"$pagina\" />
<input type='button' value='ok' onclick=\"fctTrocaPagina('$PHP_SELF',$Paginas)\" />";
 ?>
 </form>
 <script type="text/javascript">
function fctTrocaPagina(Pagina,Total) {
  var Form = document.getElementById("frm_resultados");
	if (Form==null) return;
 
	var objePagina = document.getElementById("pagina");
	if (objePagina==null){
  	return;
	}
	if((objePagina.value =='') || parseInt(objePagina.value) > Total ||
	parseInt(objePagina.value) < 1){
		alert("Digite somente números de 1 a "+Total+".");
		objePagina.select();
		objePagina.focus();
		return false;
	}
 window.location = Pagina+"?pagina="+objePagina.value;
}
 
</script>
</body>
</html>

O número da página corrente em que se encontramos é passado através de GET na linha 1
Nas linhas 3 e 4 foi feita a conexão com o banco de Dodos (troque os nomes de servidor, banco de dados, usuário e senha de acordo com a sua conexão).
Na linha 5 foi feita uma consulta na tabela para que retornassem todos os estados da tabela
,na linha 6 informamos quantos registros queremos por página, na 7 a quantidade total de páginas e finalmente na linha 8 dividimos o total de registro pela quantidade para que seja retornado o total de páginas que será exibido(note que foi utilizada a função ceil para arredondar o número).
A parte mais interessante deste script esta da linha 9 a 15: Aqui é feito uma verificação se a nossa string pagina esta vazia ou não para retornar o limite de registros da pagina corrente (ex 0 a 10, 11 a 20, etc)
Em seguida, na linha 17, é multiplicado o limite encontrado pela quantidade de registros por página para que possamos saber de qual registro a consulta deve continuar. É feita uma nova consulta de registros na linha 18, desta vez passando o primeiro registro a ser mostrado e a quantidade de resultados.
Um loop então é feito com os resultados da ultima consulta na linha 29 a 31. A primeira consulta que realizamos foi somente para pegarmos o total de registros da tabela.
Em seguida da linha 32 a 42 fazemos a navegação para que possamos avançaar e voltar as páginas. Podemos perceber que na linha 37 temos a string PaginaCorrente e Paginas. Elas são responsáveis por exibir ao usuário a pagina Corrente e o total de páginas que a consulta gerou.
A linha 43 trata-se de um atalho para ir diretamente a pagina desejada, supondo que a consulta gerou muitas páginas e passar uma a uma trabalho um pouco demorado. Neste caso recorremos a uma caixa de texto que recebe o número da página e que ao ser acionado o botão OK, uma função javascript é chamada para verificar se o número não excede o total de páginas e em seguida leva a página de registros desejada. Neste caso, passamos como parâmetro o nome da página e o total de páginas encontrado.
E para finalizar, da linha 48 a 62 temos a função javascript que chamamos anteriormente.
Agora veja o exemplo como ficou.
Uma idéia interessante é fazer a paginação dinâmica, onde o usuário, através de uma caixa de texto, digita a quantidade de registros que ele quer ver por página. Outra dica importante é passar valores de um filtro por exemplo por querystring, caso contrário o valores serão perdidos na passagem de uma página para outra.

 
2

Uma breve introdução sobre PHP

Posted by Ana Claudia on jan 5, 2007 in PHP

Vou falar um pouco sobre php neste artigo, não pretendo ensinar como codificar, mas sim explicar um pouco sobre a linguagem, o que se pode fazer e algumas mudançaas durante a evolução das versões.

PHP significa “PHP: Hypertext Preprocessor” e é uma linguagem open source que possui ampla utilização principalmente no desenvolvimento de web sites. A diferença do PHP e de outras linguagens como, por exemplo, Perl e C, é que você não precisa criar um script para criar um página HTML, mas pode embutir o script dentro de uma página HTML.
As páginas PHP são escritas com extensão php, mas é possí­vel criar páginas com codificação php com extensão HTML, bastando apenas que você configurar seu servidor para isso.
O que torna PHP uma linguagem eficiente é a facilidade que um iniciante vai encontrará para aprendê-la e ao mesmo tempo que um programador profissional conseguirá obter muitos recursos avançados.

O que pode ser feito com PHP

Qualquer coisa que deseje. Além de coletar dados de um formulário, gerar páginas dinâmicas ou coletar cookies você ainda pode:

  • Utilizar como script do lado servidor.
  • Utilizar como linha de comando sem num servidor web ou browser
  • Escrever aplicações para desktop

Por ser uma linguagem portátil, você pode utilizá-lo em qualquer Sistema Operacional como Windows, Unix, Linux, Mac OS, entre outros.

Com o PHP você tem diversas habilidades que podem criar PDF, imagens, arquivos, enviar e-mails, animações Flash e que mais sua imaginação permitir.
Você pode utilizar a mais diversa variedade banco de Dados como Mysql, Postgreesql, Oracle, mysql entre outros.

História do PHP

PHP/FI

Primeira versão do PHP, que já não é mais suportada. Foi criada por Rasmus Lerdorf em 1995 e era para ser apenas scripts do Perl. Ele nomeu esses scripts como ‘Personal Home Page Tools’. Como precisava de scripts maiores, ele acabou criando uma implementação C maior, capaz de conectar com Banco de Dados.
A sintaxe naquela época era limitada e muito similar ao Perl.
Em 1997 surge a segunda versão do PHP/FI, o PHP/FI 2.0 que foi rapidamente substuí­da pelo PHP 3.

PHP 3

Criada por Andi Gutmans e Zeev Surask para desenvolver eCommerce para um projeto na faculdade, é a primeira versão que mais se assemelha com o PHP que temos hoje.
A caracterí­stica mais importante dessa versão era a extensibilidade, que permitia adicionar vários módulos adicionais, além de possuir uma infraestrutura sólida para Banco de Dados, API e protocolos. Outra caracterí­stica marcante era a orientação a objetos devido a sua estrutura mais consistente.

PHP 4

Foi incluso uma nova engine chamada Zend Engine, fazendo com que a performance da linguagem ficasse muito melhor e tornando a mais famosa. Além disso, o PHP obteve novas caracterí­sticas como sessões HTTP, buffer de saí­da, e mais segurançaa na manipulação de objetos de formulários.

PHP 5

O PHP 5 conta com a versão atualizada de seu engine, o Zend Engine 2. A deficiência do modelo de Orientação a objetos também foi suprida, graças as manipuladores de objeto. Foi incorporada a ferramenta SQLite, para a manipulação de dados sem precisar possuir um SGBD(Sistema Gerenciador de Banco de Dados) instalado e adoção da biblioteca libxml2 para manipulação de XML.

PHP 6

Uma nova versão para o PHP já está sendo elaborada, que possuirá uma mudança no suporte Unicode, que permitirá criar e gerenciar facilmente aplicativos em diversas lí­nguas. O criador do PHP, Rasmus, também sugeriu algumas mudanças para a nova versão, como a remoção completa das register_globals e dos pseudônimos das funções.

Copyright © 2010 Ana Claudia. All Rights Reserved.
Theme by Lorelei Web Design.