Você está na página 1de 36

Curso PHP Advanced 2

BEM VINDOS!

Curso PHP Advanced 2

Instrutor: Joaquim Lopes Jnior @joaquimlopes joaquim@phprime.com.br


Diretor da F6/PHPrime Mestre e Bacharel em C. Da Computao pela UFMG Responsvel tcnico pelos produtos.

Apresentao - Alunos

Nome Origem - Escola/Empresa Expectativas

Relatrios em PHP
PHP Reports Tem que escrever XML Difcil de Formatar http://phpreports.sourceforge.net/ Muito pouca gente usa

Relatrios em PHP
PHP Report Maker S funciona no Windows simples de utilizar No gratuito http://www.hkvstore.com/phpreportmaker/

Relatrios em PHP
PDF Reports Baseado na Classe FPDF Voc precisar de programar muito Definir grupos na mo difcil No entanto, a classe FPDF merece muito respeito http://sourceforge.net/projects/petersreport/

Relatrios em PHP
Agata Reports No funciona em PHP5 Depende da biblioteca GTK Instvel, difcil de configurar Funciona bem, mas eventualmente tem que terminar a programao na mo Projeto Brasileiro http://www.agata.org.br

Relatrios em JAVA
Jasper Reports Utilizado em muitos projetos. o mais comum nos projetos de JAVA Ferramenta WYSIWYG muito boa (iReport) Mdulo de Preparao de Query timo Comunica-se como PHP atravs de Ponte com JAVA > PHP Java Bridge (http://php-javabridge.sourceforge.net/pjb/)

Relatrios em JAVA
Birt Reports Utilizado em muitos projetos Ferramenta WYSIWYG muito boa Baseado no Eclipse Alta produtividade Possibilidade de Expanso Suporte a Bibliotecas Mdulo de Preparao de Query no to bom quanto o Jasper

Relatrios em JAVA
Birt Reports Pode Utilizar PHP JAVA Bridge Mas foi pensado em um mdulo de integrao para outras tecnologias http://www.eclipse.org/birt/phoenix/ http://www.theserverside.com/news/1363642/Inter grating-BIRT-with-PHP

BIRT Integrao com PHP


Baixe o arquivo: http://server/~joaquim/birt.zip Descompacte pasta de apoio Pasta onde devem ser gravados os arquivos de relatrios: /home/usuarios/seulogin/workspace Pasta onde devem ser gravados os arquivos do projeto PHP: /home/usuarios/seulogin/public_html/report

Iniciando o Birt

Aperte Alt+F2 e digite birt Selecione seu workspace /home/usuarios/seulogin/workspace

Banco de Dados de Exemplo


Servidor: server Porta: 3306 Login: root Senha: phprime Para enxergarem o banco, acessem: Http://server/phpmyadmin Localizem em seguida um BD chamado phprime

Birt Criando um novo projeto


File New Project Escolha Report Project Digite o nome do seu projeto: adv2 Clique em Finish para finalizar

Birt Criando um novo relatrio


File New Report No campo File Name digite o nome do seu relatrio com a extenso .rptdesign (curso.rptdesign) Clique em Next e na tela que se abre, explore os formatos pr-definidos para relatrios. No entanto, utilize o formato Blank Report Clique em Finish para criar seu relatrio

Birt Criando uma fonte de dados


Localize a aba Data Explorer Clique com o boto direito em New Data Source Selecione JDBC Data Source e defina um nome para a sua fonte de dados(ex.: dsadv2) no campo Data Source Name. Em seguida, clique em Next Selecione o Driver de Conexo para bases de dados MySQL: com.mysql.jdbc.Driver

Birt Criando uma fonte de dados


Preencha o campo Driver URL com a seguinte expresso: jdbc:mysql://server/phprime Login: root Senha: phprime Clique no boto Test Connection para verificar se sua conexo foi bem sucedida. Aguarde ajuda do instrutor para configurar os drivers Clique em Finish para terminar a configurao

Birt Criando um Conjunto de Dados para relatrio de cursos


Clique com o boto direito sobre a opo Data Sets Clique em New Data Set Selecione o Data Source recm criado chamado adv2 Digite curso no campo Data Set Name Clique em Next e em seguida escreva a consulta do seu relatrio:

select curso.id, curso.categoria, curso.nome, curso.duracao, curso.destaque, curso.breve from curso


Na tela que se abre, clique na opo Preview Results, no menu esquerda, para visualizar os resultados da consulta.

Birt Criando a pgina de dados


Arraste o Data Set recm criado para a tela de layout do seu relatrio. Repare que foi criada uma tabela com todos os campos que voc definiu no Data Set. Edite essa tabela, retirando as colunas indesejadas, alinhando e definindo formatos para campos. Clique na aba Preview Explore as opes do menu Run->View Report

Birt Adicionando Estilos


Agora vamos utilizar o arquivo adv2.css da sua pasta de apoio Procure a aba Outline do Birt e clique com boto direito na opo Styles Clique na opo Import CSS Style Na janela que se abre, localize o arquivo de estilos recm baixado, e depois selecione todos os estilos que aparecem na janela. Clique em Finish

Birt Adicionando Estilos

Mudou alguma coisa a?

Birt Alternando cores de linhas


Selecione a linha de dados do relatrio (Neste momento a linha do meio) No quadro abaixo, visualize a aba Property Editor Row e a sub-aba Highlights Clique em Add e em seguida digite no campo Condition a expresso: row.__rownum%2 No campo a seguir selecione Equal to e no campo seguinte digite: 0 Altere a cor do campo Background Color Teste o Relatrio

Birt Trabalhando como parmetros


Se no tratar parmetros fica amador, concordam? Vamos colocar um parmetro para que o relatrio s retorne os cursos que tenham o termo advanced no nome Na aba Data Explorer, clique com o boto direito em Report Parameters, em seguida clique em New Parameter No campo Name, digite: nomeCurso Confirme se o campo Data Type est selecionado String e se no campo Display Type est selecionado Text Box Clique em Ok e o parmetro DO RELATRIO est criado

Birt Trabalhando como parmetros


Agora preciso deixar a consulta ciente de que h um parmetro que pode alterar o conjunto de dados retornados. Abra o Data Set curso (clique duplo). Acesse a opo Parameters ( esquerda) Crie um novo parmetro para a consulta (boto New) Preencha os campos(pea ajuda a seu instrutor se necessrio). No ltimo campo, selecione o parmetro nomeCurso recm criado. O que acabamos de fazer?

Birt Trabalhando como parmetros


Agora s falta comunicarmos consulta Acesse Query e crie uma clusula where com o seguinte texto: where curso.nome like ? PRONTO. O Birt substitui a interrogao com o valor do primeiro parmetro de consulta cadastrado. Novos parmetros demandariam novas interrogaes. A ordem de aparecimento das ? Deve estar coerente como a ordem dos parmetros. Teste o Relatrio. Por que aps a primeira tentativa, nenhum resultado retornado?

Birt Mas este no um curso de PHP?

OK OK! Vamos ao PHP! Mas depois veremos AGRUPAMENTOS E GRFICOS

Birt Integrando com PHP


Utilizaremos agora o arquivo report.inc.php da sua pasta de apoio Crie um arquivo de gerao do relatrio no seu public_html/report. Chame-o de meuReport.php Voc trabalhar com os dois arquivos no seu editor. Coloque-os em ../public_html/report Acesse-o em http://server/~seulogin/report/meuReport.php

Birt Integrando com PHP


No arquivo meuReport.php, coloque um ttulo: <?php echo '<h1>Pgina de Acesso ao meu relatrio</h1>'; ?> E um link que faa montar o seu relatrio em outra aba: <?php echo '<a href=report.inc.php target=_blank>Acessar Relatrio</a>'; ?>

Birt Integrando com PHP


No arquivo report.inc.php, depois da classe, instancie um objeto da classe report. Ex.: $r = new report(..., , ...); Mtodo construtor function report ($h, $p, $a) $h host http://relatorios $p port 8081 $a application birt-viewer

Birt Integrando com PHP


Mtodo para definio do arquivo de relatrio Pasta servidor link simblico criado no diretrio de relatrios do Birt-Viewer apontando para a pasta /home/usuarios function setFile ($f) $f file servidor/seulogin/workspace/adv2/curso.rptdesign

Birt Integrando com PHP

Mtodo para definir parmetro do relatrio function setParam($pname, $pvalue) $pname nome do parmetro ex.: nomeCurso $pvalue valor do parmetro ex.: %Advanced%

Birt Integrando com PHP

Mtodo para mostrar o relatrio function display() Verifique a URL que gerada. Tente identificar os parmetros dos mtodos recm utilizados.

Birt Instalao do Birt Viewer

Instalao do Tomcat (pr-requisito) http://server/~joaquim/birt/instalarTomcat.pdf Instalao do Birt-Viewer http://server/~joaquim/birt/instalarBirt-viewer.pdf

Birt Agrupamentos
Vamos agora agrupar os nossos curso de acordo com as categorias. Clique com boto direito na guia da linha (canto da esquerda) Clique em Insert Group Defina um nome para o grupo Selecione o campo pelo qual o agrupamento ser feito (Group On). Escolha o campo categoria. Clique em Ok e veja que o grupo foi criado Ajuste a tabela para ficar mais amigvel. Repare que agora o campo categoria pode ser retirado da linha padro da tabela.

Birt Agrupamentos

Somem os registros de cada grupo Criem um subgrupo pelo nmero de horas. Adicionem estilos aos grupos recm-criados

Birt Grficos

Utilizaremos agora o arquivo dataSetAlunos.sql da sua pasta de apoio Criem um novo DataSet com base na consulta que existe nesse arquivo.

Você também pode gostar