A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Professor: Ciro Meneses Santos Professor: Universidade Presidente Antonio Carlos – Unipac Bibliografia : --------------- Programação para Internet CONVERSE,

Apresentações semelhantes


Apresentação em tema: "Professor: Ciro Meneses Santos Professor: Universidade Presidente Antonio Carlos – Unipac Bibliografia : --------------- Programação para Internet CONVERSE,"— Transcrição da apresentação:

1 Professor: Ciro Meneses Santos Professor: Universidade Presidente Antonio Carlos – Unipac Bibliografia : Programação para Internet CONVERSE, Tim, PARK, Joyce – PHP a Bíblia – Editora Campus THOMSON, Laura, WELLING, Luke – PHP e MySQL – Desenvolvimento Web – Rio de Janeiro – Campus – 2001 Soares, Walace: Programando em PHP Conceitos e Aplicações. Editora Érica PAGE, Khristine A. – Dreamweaver MX 2004 – Editora Campus – ANSELMO, Fernando – PHP e MySQL – Visual Books – 2002 BUYENS, Jim – Aprendendo MYSQL e PHP – São Paulo – Makron Books – 2002

2 CONCEITOS DE BANCO DE DADOS RELACIONAIS Tabelas: Relações chamadas de Tabelas de Dados. Colunas: Campos de dados, que armazenam dados do mesmo tipo. Linhas: Representam as informações de um item do BD. Tuplas Valores: conjunto individuais para cada item. Chaves: Chave Primária (Composta ou estrangeiras ). Relacionamentos: Representam a quantidade de objetos em cada lado do relacionamento [1/1] e [1/M] e [M/N]. Redundânica: Informações duplicadas. desperdício de espaço, anomalias de atualizações e violação de integridade. Integridade Referencial: Política de manutenção de tabelas Controle de Concorrência: Política de acesso a dados

3 O que é SQL O SQL (Structured Query Language para RDBMS ) utilizado para armazenar e recuperar dados a partir de um BD. DDL (Data definition Language) linguagem de configuração do BD DML (Data Manipulation Language) linguagem de consulta. CRIANDO TABELAS crete table artista( codart int unsigned not null auto_increment primary key; nome varchar(35) ); Mais de um campo primary key (campoA, campoB) INSERINDO INFORMAÇÕES EM UMA TABELA insert into artista ( codart, nome) values ($codart, $nomeartista);

4 CONSULTANDO INFORMAÇÕES EM UMA TABELA: select * from artista order by nome desc; ALTERAR INFORMAÇÕES EM UMA TABELA : update artista set nome = $nomeartista where codart = $codartista; EXCLUIR INFORMAÇÕES EM UMA TABELA : delete from artista where codart = $codartista ; select a.nome from artista as a where codart = $codartista FUNÇÕES AGREGADAS NO MySQL select avg(quantidade), sum(quantidade) from disco

5 Descrição das Tabelas BD

6 Relação de consultas 1) Liste o título dos discos do gênero ROCK SELECT titulo FROM disco WHERE Genero ="ROCK"; 2) Liste o Código e Nome dos Artistas SELECT * FROM artista; 3) Liste os títulos dos discos lançados pela gravadora BMG SELECT disco.titulo FROM gravadora, disco WHERE gravadora.codGrav=disco.CodGrav and gravadora.nome = "BMG"; 4) Liste os títulos das músicas lançadas por RICK ASTLEY SELECT musica.titulo FROM musica, faixa, disco, artista WHERE musica.CodMus = faixa.CodMus AND faixa.CodDisco = disco.CodDisco AND disco.CodArt = artista.CodArt AND artista.nome = "RICK ASTLEY";

7 5) Liste o título das músicas lançadas por A-HÁ "SELECT musica.titulo FROM musica, faixa, disco, artista WHERE musica.CodMus = faixa.CodMus AND faixa.CodDisco = disco.CodDisco AND disco.CodArt = artista.CodArt AND artista.nome = 'A-Há' 6) Liste o título das músicas com duração entre 3 e 4 minutos SELECT musica.titulo FROM musica, faixa WHERE musica.CodMus = faixa.CodMus AND duracao between '3:00:00' and '4:00:00'; 7) Liste o título do disco e das músicas que iniciam com M SELECT musica.titulo FROM musica, faixa, disco WHERE musica.codMus = faixa.codMus AND faixa.coddisco = disco.Coddisco AND musica.titulo like 'M%'"; Relação de consultas

8 mysql_close($ponteiro); Funções MySql INSTRUÇÃO COM OPERAÇÃO SQL $instrucao_sql = select * from disco order by titulo; FUNÇÃO PARA CONEXÃO COM BANCO DE DADOS $ponteiro = mysql_connect(campolina,aluno,senha); FUNÇÃO PARA OPERAÇÃO NO BANCO DE DADOS $table = mysql_db_query(webaluno,$instrucao_sql,$ponteiro); FUNÇÃO PARA TRATAMENTO DAS TUPLAS $row = mysql_fetch_array($tabela); FUNÇÃO PARA FINALIZAR UM CONEXÃO COM BD extract($row,EXTR_PREFIX_ALL,"x");

9 Arquivo configuração de banco de dados Arquivo: config.db $servidor = localhost; $dbtabela = dbciro; $usuario = ciro; $senha = ciro123; $conn = mysql_connect($servidor,$usuario,$senha); Arquivo para inclusão de dados Arquivo: incluir.php include config.db; $sql = insert into tabela(idcodigo,nome) values($id,$nome); $re = mysql_db_query($dbtabela,$sql,$conn); mysql_close($conn); Sistema para manipulação de BD

10 Arquivo para consulta de dados Arquivo: consulta.php include config.db; $sql = select * from tabela order by nome; $re = mysql_db_query($dbtabela,$sql,$conn); while ( $tupla = mysql_fetch_array($re)) { print $tupla[idcodigo]; print $tupla[nome]; } mysql_close($conn); Sistema para manipulação de BD

11 Arquivo para alterar e excluir dados Arquivo: alteracao.php include config.db; $sql = update tabela set nome= $nome where idcodigo=$idcodigo; $sql = delete from tabela where idcodigo=$idcodigo; $re = mysql_db_query($dbtabela,$sql,$conn); mysql_close($conn); Sistema para manipulação de BD

12 Consulta para Alterar e excluir

13

14 Consulta para Alterar e excluir Código Nome Cidade Alterar Excluir

15 > Consulta para Alterar e excluir

16 value= > Consulta para Alterar e excluir

17 value= > Consulta para Alterar e excluir

18 Código para Ordenação de Dados Código > Nome > Cidade Alterar Excluir

19 Consulta para Alterar e excluir Arquivo: excluir.php

20 Paginação de Consulta A paginação de resultados de uma consulta e um mecanismo muito importante para uma melhor visualização dos resultadas da consulta. // Consulta conexão, consulta mysql_connect(), mysql_db_querry() etc $num = mysql_num_rows($result); // Definição de registros por página $t_registro = 10; // Verificação da quantidade de página necessária if ( $num <= $t_registro) { $t_paginas = 1; } // Múltiplo de 10 if ($num%$t_registro == 0) { $t_paginas = $num / $t_registro; } else { // acrescentar 1 página. $t_paginas = ($num/$t_registro) - (($num%$_registro)/$t_registro) + 1; }

21 Paginação de Consulta $l_inicial = ($pagina - 1) * $t_registro; $l_final = $l_inicial + $t_registro - 1; // Visualizar o resultado em uma tabela ?> Codigo Nome Cidade = $l_inicial and $marcador <= $l_final) { // aqui você personaliza sua saída... ?>

22 Paginação de Consulta if ($pagina == 1) { // Primeira página não tem link anterior echo " |"; }else { // do contrário, linka a página anterior... echo " anterior |"; } // gerando os números com os respectivos links... $i = 1; while ($i <= $t_paginas) { // a página atual não precisa ser linkada... if ($i == $pagina) { echo " $i "; } // as demais páginas deve ser linkadas... else { echo " ".$i." ";} $i = $i + 1; } if ($pagina == $total_paginas) { // se estivermos na última página, o link "próximo" não precisa linkar nada... echo "| próxima >> \n"; }else { // do contrário, linka a próxima página... echo "| próxima >>\n"; }

23 Relatórios com PDF Aplicação utilizada para geração de relatórios PDF através de PHP. Utilizaremos o programa para gerar uma consulta e criaremos o relatório PDF através do mesmo. Biblioteca para geração de PDF, FPDF está biblioteca foi desenvolvida em PHP e é free para utilizição comercial. O aluno deve baixar a biblioteca compactada winzip ou tar, e descompactar em seu diretório web. Esta biblioteca é acompanhada de um tutorial e documentação, eu sugiro que dê uma verificada no tutorial. www.

24 Relatórios com PDF

25 Objeto: PDF() // Objeto utilizado para criar arquivos PDF $pdf = new PDF // Cria o Objeto PDF Métodos: $pdf->AddPage(); // adicionar nova página $pdf->SetFont('Arial','B',15); // definir fonte $pdf->Cell(60,10,'Relatório PHP-GTK',1,0,'C'); //inserir informação no arquivo $pdf->Output(pdfartista); // gerar o arquivo pdf $pdf->Image('logo_pb.png',10,8,33); // adiciona um imagem $pdf->Ln(20); // Nova linha $pdf->SetFillColor(224,235,255); // definir cor de preenchimento $pdf->SetTextColor(0); // definir cor de texto $pdf->SetDrawColor(128,0,0); // definir cor de objetos $pdf->SetLineWidth(.3); // definir largura das linhas

26 Relatórios com PDF Image('logo_pb.png',10,8,33); // Imagen $this->SetFont('Arial','B',15); //Arial bold 15 $this->Cell(80); //Move to the right $this->Cell(60,10,'Relatório PHP-GTK',1,0,'C'); //Title $this->Ln(20); //Line break } function Footer() { //Page footer $this->SetY(-15); //Position at 1.5 cm from bottom $this->SetFont('Arial','I',8); //Arial italic 8 $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); //Page number }

27 Relatórios com PDF function Table($header) { //Color and font restoration $this->SetFillColor(224,235,255); $this->SetTextColor(0); $this->SetDrawColor(128,0,0); $this->SetLineWidth(.3); $this->SetFont(''); $w=array(20,70,40); for($i=0;$i Cell($w[$i],7,$header[$i],1,0,'C',1); $this->Ln(); } function TableIn($row,$fill) { // Inserir elementos do relatório $this->SetDrawColor(128,0,0); //Color and font restoration $this->SetLineWidth(.3); $this->SetFillColor(224,235,255); $this->SetTextColor(0); $this->SetFont(''); $w=array(20,70,40); $this->Cell($w[0],6,$row[0],'LR',0,'L',$fill); //Data $this->Cell($w[1],6,$row[1],'LR',0,'L',$fill); //Data $this->Cell($w[2],6,$row[2],'LR',0,'R',$fill); //Data $this->Ln(); } }

28 Relatórios com PDF // inicializar a criação do arquivo PDF $pdf= new PDF(); $header = array('Codigo','Nome','Cidade'); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->SetFont('Arial','',14); // $conn = mysql_connect("localhost","ciro","ciro123"); $sql = "select * from aluno"; // banco de dados $cons = mysql_db_query("phpgtk",$sql,$conn); // $pdf->Table($header); $fill=0; while ($tupla = mysql_fetch_array($cons)) { $pdf->TableIn($tupla,$fill); // Adiciona elementos na tabela PDF $fill=!$fill; } $w = array(20,70,40); $pdf->Output(pdfartista);

29 Classes e Objetos ( PHP ) Classe: Uma classe é um conjunto de variáveis e funções relacionadas a um objeto [método]. Uma vantagem da utilização de programação orientada a objeto (POO) é poder usufruir do recurso de encapsulamento de informação. Com o encapsulamento, o usuário de uma classe não precisa saber como ela é implementada, bastando para o usuário conhecer a interface, ou seja, as funções disponíveis. Uma classe é um tipo abstrato de dados, e portanto não pode ser atribuída a uma variável. Definição de uma classe: class nomeClasse { $varNome1; $varName2; function nomeFunction ( $parametros ) { comandos..... } }

30 Objeto: Variáveis do tipo de uma classe são chamadas de objetos, e devem ser criadas utilizando o operador new que aloca um espaço de memória para este objeto. Inicialização de uma classe: $var = new nomeClasse; Utilização de uma classe: $var->nomeFuncion( $parametros ); Instancia de uma classe $this Na definição de uma classe, pode-se utilizar a variável $this, que é o próprio objeto instanciado. Assim, quando uma classe é instanciada em um objeto e uma função desse objeto utiliza a variável $this, essa variável significa o objeto corrente.

31 Herança ( SubClasse ) Uma classe poder ser uma extensão de outra. Isso significa que ela herdará todas as variáveis e funções da outra classe, e ainda terá as que forem adicionadas pelo programador. Em PHP não é permitido utilizar herança múltipla, ou seja, uma classe pode ser extensão de apenas uma outra classe. Para criar uma classe estendida, ou derivada de outra, deve ser utilizada a palavra reservada extends. Construtores Um construtor é uma função definida na classe que é automaticamente chamada no momento em que a classe é instanciada (através do operador new ). O construtor deve ter o mesmo nome que a classe a que pertence

32 class conta { var $saldo; function conta() { $this->saldo = 0; } function saldo() { return $this->saldo; } function credito($valor){ $this->saldo += $valor; } function debito($valor) { $this->saldo -= $valor; } } Exemplo 1 - Classe

33 class novaConta extends conta { var $numero; function novaConta() { $this->saldo = 0; } function numero($num) { $this->numero = $num; } function novoSaldo() { print CONTA NUMERIO = $this->numero\n; print SALDO ATUAL = $this->saldo\n; } } $contaReal = new novaConta; $contaReal->numero(4567); $contaReal->credito( 100 ); $contaReal->debito ( 40 ); $contaReal->novoSaldo(); Exemplo 1 Classe - Extends

34 FILE = $arq; $this->fp = fopen($this->FILE,"a"); $this->cnome = "";... } else print "Ao istanciar esta class será necessario o nome do arquivo"; } function cadastrar($cn, $cc, $ce, $cl, $cs) { $this->cnome = $cn;.... } function arquivar() { $linha = join("#",array($this->cnome,$this->ccurso,.... "\n")); fwrite($this->fp,$linha); } function fecharArquivo() { fclose($this->fp); } function visualizarArquivo() { $this->fp = fopen($this->FILE, "r"); while( !feof($this->fp) ) { $linha = fgets($this->fp,256); print " $linha"; }

35 cadastrar($cn, $cc, $ce, $cl, $cs); $al->arquivar(); $al->fecharArquivo(); $al->visualizarArquivo(); ?> enviando arquivo Nome: Curso: Login: Senha:


Carregar ppt "Professor: Ciro Meneses Santos Professor: Universidade Presidente Antonio Carlos – Unipac Bibliografia : --------------- Programação para Internet CONVERSE,"

Apresentações semelhantes


Anúncios Google