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

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

Programação para Internet

Apresentações semelhantes


Apresentação em tema: "Programação para Internet"— Transcrição da apresentação:

1 Programação para Internet
Professor: Ciro Meneses Santos Professor: Universidade Presidente Antonio Carlos – Unipac Bibliografia : 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. 2000 PAGE, Khristine A. – Dreamweaver MX 2004 – Editora Campus – 2004. ANSELMO, Fernando – PHP e MySQL – Visual Books – 2002 BUYENS, Jim – Aprendendo MYSQL e PHP – São Paulo – Makron Books – 2002

2 Tabelas: Relações chamadas de Tabelas de Dados.
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 INSERINDO INFORMAÇÕES EM UMA TABELA
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 ALTERAR INFORMAÇÕES EM UMA TABELA:
CONSULTANDO INFORMAÇÕES EM UMA TABELA: select * from artista order by nome desc; select a.nome from artista as a where codart = $codartista 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; 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 Relação de consultas 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%'";

8 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); extract($row,EXTR_PREFIX_ALL,"x"); FUNÇÃO PARA FINALIZAR UM CONEXÃO COM BD  mysql_close($ponteiro);

9 Sistema para manipulação de BD
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);

10 Sistema para manipulação de BD
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);

11 Sistema para manipulação de BD
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);

12 Consulta para Alterar e excluir

13 Consulta para Alterar e excluir
<?php $conn = mysql_connect("localhost","ciro","ciro123"); if ( empty($link)) { $sql = "select * from aluno"; } else { $sql = "select * from aluno order by ".$link; $exe = mysql_db_query(“dbaluno","$sql",$conn); $temp = mysql_num_rows($exe); ?>

14 Consulta para Alterar e excluir
<table border=3 align=center> <tr> <th> Código</th> <th> Nome</th> <th>Cidade</th> <th>Alterar</th> <th> Excluir</th> </tr> <?php while($valor = mysql_fetch_array($exe) ) { if($x){ $cor="#ffffff"; $x=false; } else { $cor="#cccccc"; $x=true; } extract ($valor,EXTR_PREFIX_ALL,"c"); ?>

15 Consulta para Alterar e excluir
<tr bgcolor = <? echo $cor ?>> <th width=120> <?php echo $valor["codigo"]; ?> </th> <td width=120> <?php echo $c_nome; ?> </td> <td width=120> <?php echo $c_cidade; ?> </td>

16 Consulta para Alterar e excluir
<td width=40> <form mane=p1 method=post action=alt_disco.php> <input type=Hidden name=<? echo $c_codigo ?> value= <? echo $c_codisco ?> > <input type=image name=Submit src=al.png width=20 height=20 onclick=document.p1.submit()> </form> </td>

17 Consulta para Alterar e excluir
<td width=40> <form mane=p2 method=post action=exc_disco.php> <input type=Hidden name=<? echo $c_codigo ?> value= <? echo $c_codisco ?> > <input type=image name=Submit src=excluir.gif width=20 height=20 onclick=document.p1.submit()> </form> </td> </tr> <?php } ?> </table> <? mysql_close($conn); ?>

18 Código para Ordenação de Dados
<tr> <th> Código</th> <th> <? $link = "nome"; ?> <a href=consultar.php?link=<? echo $link; ?>> Nome </a> </th> <? $link = "cidade"; ?> <a href=consultar.php?link=<? echo $link; ?>> Cidade </a> <th> Alterar </th> <th> Excluir</th> </tr>

19 Consulta para Alterar e excluir
Arquivo: excluir.php <?php $conn = mysql_connect("localhost","ciro","ciro123"); $sql = "delete from aluno where codigo=$codigo"; $exe = mysql_db_query(“DBaluno","$sql",$conn); ?>

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 ?> <table border=1> <tr><th> Codigo </th> <th> Nome</th> <th> Cidade </th> </tr> <?php $marcador = 0; while ($array_result = mysql_fetch_array($result)) { // se o marcador está dentro do intervalo desejado, escrevemos o registro... if ($marcador >= $l_inicial and $marcador <= $l_final) { // aqui você personaliza sua saída ?> <tr> <td> <?php echo $array_result["codigo"]; ?> </td> <td> <?php echo $array_result["nome"]; ?> </td> <td> <?php echo $array_result["cidade"]; ?> </td> </tr> <?php } //incrementamos o marcador... $marcador = $marcador + 1; } ?> </table>

22 Paginação de Consulta if ($pagina == 1) { // Primeira página não tem link anterior echo "<font color=\"#999999\"><< anterior</font> |"; }else { // do contrário, linka a página anterior... echo "<< <a href=\"paginacao.php?pagina=".($pagina - 1)."\" targe=\"_self\">anterior</a> |"; } // 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 " <b><u>$i</u></b> "; } // as demais páginas deve ser linkadas... else {echo " <a href=\"paginacao.php?pagina=".$i."\" target=\"_self\">".$i."</a> ";} $i = $i + 1; } if ($pagina == $total_paginas) { // se estivermos na última página, o link "próximo" não precisa linkar nada... echo "| <font color=\"#999999\">próxima >></font>\n"; }else { // do contrário, linka a próxima página... echo "| <a href=\"paginacao.php?pagina=".($pagina + 1)."\" targe=\"_self\">próxima</a> >>\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.

24 Relatórios com PDF

25 Relatórios com PDF 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 <?php define('FPDF_FONTPATH','font/');  // dir para fontes dos PDF require('fpdf.php');                     // inserir a class fpdf class PDF extends FPDF { // Extende class PDF e cria novos metedos        function Header() { //Page header           $this->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<count($header);$i++)               $this->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 ) Construtores
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 Exemplo 1 - Classe 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; } }

33 Exemplo 1 Classe - Extends
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”; } } Exemplo 1 Classe - Extends $contaReal = new novaConta; $contaReal->numero(4567); $contaReal->credito( 100 ); $contaReal->debito ( 40 ); $contaReal->novoSaldo();

34 <?php class alunos { var $FILE; var $fp; var $cnome; var $ccurso; var $c ; var $clogin; var $csenha; function alunos($arq) { $arq = trim($arq); if ( !empty($arq) ) { $this->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 "<br> $linha"; } }

35 $al = new alunos("aluno.txt");
<html><head><title> enviando arquivo </title></head> <body> <form action=alunos.php method = post> <table border = 1> <tr><td> Nome: </td><td> <input type=text name = cn> </td></tr> <tr><td> Curso: </td><td> <input type=text name = cc> </td></tr> <tr><td> </td><td> <input type=text name = ce> </td></tr> <tr><td> Login: </td><td> <input type=text name = cl> </td></tr> <tr><td> Senha: </td><td> <input type=text name = cs> </td></tr> </table> <input type=submit value = Enviar> <input type=reset value = Limpar> </body> </html> <?php include "alunos.class"; $al = new alunos("aluno.txt"); $al->cadastrar($cn, $cc, $ce, $cl, $cs); $al->arquivar(); $al->fecharArquivo(); $al->visualizarArquivo(); ?>


Carregar ppt "Programação para Internet"

Apresentações semelhantes


Anúncios Google