Você está na página 1de 6

Criando Relatrios

com PHP

Pablo DallOglio

Novatec

Copyright 2011 da Novatec Editora Ltda.


Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998.
proibida a reproduo desta obra, mesmo parcial, por qualquer processo, sem prvia autorizao, por escrito, do autor e da Editora.
Editor: Rubens Prates
Reviso gramatical: Patrizia Zagni
Editorao eletrnica: Camila Kuwabata e Carolina Kuwabata
Capa: Pablo DallOglio e Victor Bittow
ISBN: 978-85-7522-263-8
Histrico de impresses:
Janeiro/2011

Primeira edio

Novatec Editora Ltda.


Rua Lus Antnio dos Santos 110
02460-000 So Paulo, SP Brasil
Tel.: +55 11 2959-6529
Fax: +55 11 2950-8869
Email: novatec@novatec.com.br
Site: novatec.com.br
Twitter: twitter.com/novateceditora
Facebook: facebook.com/novatec
LinkedIn: linkedin.com/in/novatec

Dados

Internacionais de Catalogao na Publicao


(Cmara Brasileira do Livro, SP, Brasil)
Dall`Oglio, Pablo
Criando relatrio com PHP / Pablo Dall`Oglio. -So Paulo : Novatec Editora, 2011.
ISBN 978-85-7522-263-8
1. PHP (Linguagem de programao para
computadores) I. Ttulo.

10-14195

CDD-005.133
ndices para catlogo sistemtico:
1. Criando relatrio com PHP : Linguagem de
programao : Computadores : Processamento de
dados
005.133

OGF20101221

(CIP)

Sumrio

Sobre o autor......................................................................................................................................11
Nota do autor......................................................................................................................................12
Organizao do livro............................................................................................................................14
Captulo 1 Introduo ao PHP...........................................................................................................16
O que o PHP?.............................................................................................................16
Um programa PHP........................................................................................................ 17
Extenso de arquivos................................................................................................ 17
Delimitadores de cdigo........................................................................................... 17
Comentrios............................................................................................................ 18
Comandos de sada (output).................................................................................... 18
Variveis........................................................................................................................ 19
Tipo Booleano.......................................................................................................... 21
Tipo Numrico........................................................................................................22
Tipo String...............................................................................................................23
Tipo Array...............................................................................................................23
Tipo Objeto.............................................................................................................23
Tipo Recurso............................................................................................................24
Tipo Misto...............................................................................................................24
Tipo Callback..........................................................................................................24
Tipo NULL..............................................................................................................25
Constantes....................................................................................................................25
Operadores....................................................................................................................25
Atribuio................................................................................................................25
Aritmticos..............................................................................................................26
Relacionais...............................................................................................................26
Lgicos....................................................................................................................29
Estruturas de controle....................................................................................................30
IF............................................................................................................................30
WHILE....................................................................................................................32
FOR.........................................................................................................................33
SWITCH..................................................................................................................34
FOREACH...............................................................................................................37
CONTINUE............................................................................................................37
BREAK....................................................................................................................37
7

Criando Relatrios com PHP

Requisio de arquivos...................................................................................................37
Manipulao de funes................................................................................................39
Criao....................................................................................................................39
Variveis globais.......................................................................................................40
Variveis estticas.....................................................................................................40
Passagem de parmetros........................................................................................... 41
Recurso..................................................................................................................42
Manipulao de arquivos e diretrios.............................................................................43
Manipulao de strings..................................................................................................46
Declarao...............................................................................................................46
Concatenao..........................................................................................................46
Caracteres de Escape................................................................................................47
Funes...................................................................................................................47
Manipulao de arrays................................................................................................... 51
Criando um array.................................................................................................... 51
Arrays associativos................................................................................................... 52
Iteraes.................................................................................................................. 52
Acesso.....................................................................................................................53
Arrays multidimensionais.........................................................................................54
Funes...................................................................................................................55

Captulo 2 Objetos e bancos de dados................................................................................................59


Orientao a Objetos.....................................................................................................59
Introduo...............................................................................................................59
Classe......................................................................................................................62
Objeto.....................................................................................................................65
Construtores e destrutores........................................................................................67
Herana................................................................................................................... 71
Polimorfismo........................................................................................................... 74
Encapsulamento......................................................................................................75
Interfaces................................................................................................................. 81
Autoload..................................................................................................................82
Tratamento de erros.................................................................................................83
Bancos de dados............................................................................................................87
Acesso nativo...........................................................................................................87
PDO PHP Data Objects............................................................................................92
Conexo com banco de dados...................................................................................97

Captulo 3 Bibliotecas utilizadas.....................................................................................................103


Gerao no formato HTML.......................................................................................... 103
Introduo............................................................................................................. 103
Elementos bsicos.................................................................................................. 104

Sumrio

Folhas de estilo.......................................................................................................110
Tabelas...................................................................................................................116
Gerao no formato PDF.............................................................................................. 123
Introduo............................................................................................................. 124
Manipulao bsica de texto................................................................................... 124
Manipulao de clulas.......................................................................................... 127
Gerao de tabelas................................................................................................. 130
Manipulao de figuras e formas............................................................................. 134
Manipulao de cabealhos e rodaps..................................................................... 137
Gerao no formato RTF.............................................................................................. 139
Introduo............................................................................................................. 139
Manipulao bsica de texto................................................................................... 139
Formatao de pargrafos....................................................................................... 142
Manipulao bsica de tabelas................................................................................ 145
Gerao de tabelas..................................................................................................147
Manipulao de cabealhos e rodaps......................................................................151
Gerao de grficos...................................................................................................... 153
Introduo............................................................................................................. 153
Grficos de linha simples........................................................................................ 154
Grficos de mltiplas linhas................................................................................... 156
Grficos de barra simples....................................................................................... 158
Grficos de mltiplas barras................................................................................... 160
Utilizao de links em grficos................................................................................ 163
Grficos de barra horizontal................................................................................... 165
Grficos de pizza.................................................................................................... 167
Grficos de pizza 3D com links............................................................................... 169

Captulo 4 Relatrios tabulares.......................................................................................................172


Base de dados de exemplos.......................................................................................... 172
Relatrios simples........................................................................................................ 173
Relatrio em formato TXT.......................................................................................174
Relatrio em formato HTML.................................................................................. 178
Relatrio em formato PDF...................................................................................... 183
Relatrio em formato RTF...................................................................................... 187
Relatrios parametrizados.............................................................................................191
Formulrio web...................................................................................................... 192
Formulrio Gtk...................................................................................................... 199
Relatrios personalizados.......................................................................................206
Relatrio de clientes em HTML............................................................................... 207
Relatrio de produtos em PDF................................................................................ 215
Relatrios interligados................................................................................................. 222
Relatrio de cidades e pessoas................................................................................. 223

10

Criando Relatrios com PHP

Captulo 5 Relatrios hierrquicos e matriciais................................................................................229


Introduo..................................................................................................................229
Relatrios hierrquicos................................................................................................ 230
Um agrupamento no formato HTML.......................................................................231
Um agrupamento no formato PDF.......................................................................... 238
Dois agrupamentos no formato HTML...................................................................244
Dois agrupamentos no formato PDF....................................................................... 253
Relatrios matriciais....................................................................................................260
Duas dimenses no formato HTML........................................................................ 261
Duas dimenses no formato PDF............................................................................ 267
Quatro dimenses no formato HTML..................................................................... 273
Quatro dimenses no formato PDF.........................................................................282

Captulo 6 Grficos e documentos...................................................................................................290


Grficos......................................................................................................................290
Grfico de linhas....................................................................................................290
Grfico de colunas.................................................................................................295
Grfico de pizza.....................................................................................................299
Documentos................................................................................................................306
Notas fiscais em PDF..............................................................................................306
Carta para inadimplentes em RTF............................................................................316

Captulo 7 Uma biblioteca para gerao de relatrios......................................................................327


Introduo.................................................................................................................. 327
Criando escritores de tabelas........................................................................................ 330
Escritor de HTML...................................................................................................331
Escritor de PDF...................................................................................................... 335
Escritor de RTF...................................................................................................... 339
Utilizando as classes escritoras..................................................................................... 343
Criando uma simples tabela................................................................................... 343
Utilizando recursos visuais..................................................................................... 347
Utilizando banco de dados..................................................................................... 352
Criando relatrios tabulares......................................................................................... 356
Classe para relatrios tabulares............................................................................... 356
Exemplo de relatrio tabular..................................................................................360
Classe para relatrios hierrquicos.......................................................................... 362
Exemplo de relatrio hierrquico............................................................................369

ndice remissivo................................................................................................................................372

Você também pode gostar