Slides LAMP
-
Upload
marciofsbrandao -
Category
Documents
-
view
26 -
download
1
description
Transcript of Slides LAMP
Superação de problemas comuns aos sistemas de arquivos tradicionais pelos
SGDB´s
1. Redundância e inconsistência de dados. Armazenamento de informações redundantes. Essa redundância conduz a altos custos de armazenamento e crescente dificuldade de atualização das informações. Inconsistência: alteração em alguns arquivos e em outros não, ou em todos os arquivos, porém, de maneira independente
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
14
Superação de problemas comuns aos sistemas de arquivos tradicionais pelos
SGDB´s
2. Dificuldade no acesso aos dados
Os dados espalhados em diferentes arquivos isolados não apresentam as facilidades de acesso e processamento das informações dos bancos de dados.
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 15
Superação de problemas comuns aos sistemas de arquivos tradicionais pelos
SGDB´s
3. Isolamento de dados:
A existência de dados espalhados em diferentes arquivos, que podem apresentar diferentes formatos, dificulta a criação de novos programas aplicativos para a recuperação desses dados
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 16
Superação de problemas comuns aos sistemas de arquivos tradicionais pelos
SGDB´s
4. Compartilhamento de Dados
Utilizando um SGBD, a noção de compartilhamento de dados está na facilidade de definir visões de usuário, que é usada para especificar a porção da base de dados que é de interesse para um grupo particular de usuários
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
17
Superação de problemas comuns aos sistemas de arquivos tradicionais pelos
SGDB´s
5. Problemas de segurança.
O acesso a determinados dados deve ser restritos para alguns usuários do sistema de informações. Os dados financeiros são frequentemente considerados confidenciais e, desse modo, somente pessoas autorizadas devem ter acesso.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
18
Capacidades do SGDB’s
Fornecimento de Múltiplas Interfaces:
Devido aos vários tipos de usuários, com variados níveis de conhecimento técnico, um SGBD deve fornecer uma variedade de interfaces para atendê-los.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
19
Capacidades do SGDB’s
Reforçar Restrições de Integridade:
muitas aplicações de base de dados terão certas restrições de integridade de dados. A forma mais elementar de restrição de integridade é a especificação do tipo de dado de cada item.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
20
Capacidades do SGDB’s
Fornecer Backup e Restauração:
Um SGBD deve fornecer recursos para restauração caso ocorram falhas de hardware ou software.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
21
Vantagens adicionais dos Bancos de Dados
Potencial para obrigar a Padronização: A abordagem de base de dados permite que o DBA defina e obrigue a padronização entre os usuários da base de dados em grandes organizações. Ex: nomes, elementos de dados, telas, relatórios, terminologias, etc.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
22
Vantagens adicionais dos Bancos de Dados
Flexibilidade:
Mudanças na estrutura de uma base de dados podem ser necessárias devido a mudanças nos requisitos. Por exemplo, um novo grupo de usuários pode surgir com necessidade de informações adicionais, ainda não disponíveis na base de dados.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
23
Vantagens adicionais dos Bancos de Dados
Redução do Tempo de Desenvolvimento de Aplicações:
Tempo reduzido para o desenvolvimento de novas aplicações, como a recuperação de certos dados da base de dados para a impressão de novos relatórios.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
24
Vantagens adicionais dos Bancos de Dados
Disponibilidade de Informações Atualizadas:
Tão logo um usuário modifique uma base de dados, todos os outros usuários “sentem”
imediatamente esta modificação.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
25
Tipos de Usuários do SGDB
Administrador da Base de Dados (DBA):
É o usuário mais especializado de um banco de dados. A administração dos recursos do banco de dados é de responsabilidade do DBA (“Database Administrator ”). O DBA é responsável por autorizar acesso à base de dados e coordenar e monitorar seu uso.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
26
Tipos de Usuários do SGDB
Projetistas da Base de Dados:
Os projetistas de base de dados têm a responsabilidade de identificar os dados a serem armazenados na Base de Dados e escolher estruturas apropriadas para representar e armazenar tais dados.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
27
Tipos de Usuários do SGDB
Analistas de Sistemas e Programadores de Aplicação:
O analistas de sistemas determinam os requisitos de usuários finais, especialmente dos usuários comuns, e desenvolvem especificações das transações para atender a estes requisitos; os programadores de aplicações implementam estas especificações produzindo programas e, então, testam, depuram, documentam e mantêm estes programas.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
28
Tipos de Usuários do SGDB
Usuários Finais:
Existem profissionais que precisam ter acesso à base de dados para consultar, modificar e gerar relatórios. Existem algumas categorias de usuários finais:
usuários ocasionais -> gerentes de médio ou alto-nível
usuários comuns -> estes usuários realizam operações padrões de consultas e atualizações, que foram cuidadosamente programadas e testadas. Estes usuários constantemente realizam recuperações e modificações na base de dados
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 29
Modelos de Bancos de Dados
1- Modelo em Rede
2- Modelo Hierárquico
3- Modelo Relacional
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
30
Modelos de Bancos de Dados
Modelo em Rede: Um banco de dados em rede consiste em uma coleção e registros concatenados uns aos outros por meio de ligações
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
31
Modelos de Bancos de Dados Modelo Hierárquico: Os registros são conectados numa estrutura de dados em árvore através de ligações de tal modo que cada tipo de registo tenha apenas um possuidor, conforme veremos adiante
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
32
Modelos de Bancos de Dados Se os clientes Maria e Pedro tivessem uma conta conjunta de número 22458, essa conta, de acordo com a regra do modelo hierárquico, não poderia estar ligado a dois clientes ao mesmo tempo, devendo dessa forma, ser duplicada, conforme pode ser visto na Figura
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
33
Modelos de Bancos de Dados Modelo Relacional: A maior vantagem do modelo relacional sobre seus antecessores é a representação simples dos dados e a facilidade com que consultas complexas podem ser expressas.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
34
Modelagem de Dados
Corresponde a descrição dos tipos de informações que estão armazenadas em um banco de dados. Por exemplo, no caso de uma indústria, o modelo de dados poderia informar que o banco de dados armazena informações sobre produtos e que, para cada produto, são armazenados seu código, preço e descrição. Observe que o modelo de dados não informa quais os produtos que estão armazenados.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
35
Modelagem de Dados
DER (Diagrama Entidade Relacionamento)
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 36
Structured Query Language (SQL)
Oferece aos seus usuários e administradores meios de criar definições de dados, bem como manipular esses dados armazenados em suas bases.
SQL é uma linguagem de pesquisa para uso em Banco de Dados Relacional, podendo ser utilizada como linguagem de construção, modificação e acesso a Banco de Dados.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
37
XAMPP
Neste curso, para trabalharmos com o MySQL utilizaremos a ferramenta chamada XAMPP. Esta ferramenta instala e configura o MySQL (banco de dados), o Apache (servidor web) e o PhpMyAdmin (Software de gerenciamento do MySQL) automaticamente.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
38
Neste curso, utilizaremos o PhpMyAdmin que é uma excelente ferramenta para manipulação do MySQL, muito útil principalmente para desenvolvedores web. Ele dispõe de uma série de recursos interessantes para administração do banco de dados.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
41
Na barra de endereço do seu navegador de Internet digite http://localhost/phpmyadmin
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
42
Criando Tabelas No MySQL
CREATE TABLE clientes(
codigo int(4) AUTO_INCREMENT,
nome varchar(30) NOT NULL,
email varchar(50),
data_nascimento date,
PRIMARY KEY (codigo)
)
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 44
Criando Tabelas No MySQL
• CREATE TABLE é o comando para criação da tabela e deve ser seguida pelo nome que daremos à tabela.
• AUTO_INCREMENT pode ser utilizado para automatizar um código que sirva de chave primária de uma tabela.
• PRIMARY KEY define a chave primária da tabela, isto é, o campo que serve como chave da tabela e que não pode ser repetido.
• NOT NULL define que um determinado campo seja de preenchimento obrigatório.
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 45
COMANDO PARA INSERIR UM CLIENTE (Registro):
INSERT into clientes VALUES ('','Fulano','[email protected]','1988-08-08')
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
46
Eliminando Tabelas
DROP TABLE CLIENTE
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
47
Alterar o nome da tabela
ALTER TABLE nome_da_table RENAME novo_nome
Exemplo:
ALTER TABLE clientes RENAME cliente
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
48
Adicionar atributos na tabela
ALTER TABLE cliente ADD cidade VARCHAR(20)
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
49
Modificar o tamanho de um atributo
ALTER TABLE cliente MODIFY codigo int(5)
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
50
Excluindo atributo de uma tabela
ALTER TABLE cliente DROP cidade
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
51
Excluindo Chave Primária
ALTER TABLE cliente DROP PRIMARY KEY
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
52
Definindo chave primária
ALTER TABLE cliente ADD PRIMARY KEY(codigo)
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
53
Banco de Dados: Banco
Cod_Cliente -> inteiro, 5 , autoincremento
Nome -> Caractere, 25 , não ficar em branco
Rua -> Caractere, 25,
Cidade -> Caractere, 15
Num_CC -> inteiro, 5
Saldo -> decimal (10,2)
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
54
Criação da tabela Cliente
CREATE TABLE Cliente(
Cod_Cliente int(5) AUTO_INCREMENT,
nome varchar(25) NOT NULL,
rua varchar(25),
cidade varchar(15),
PRIMARY KEY (Cod_Cliente)
)
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
55
Criação da tabela Conta_Cliente
CREATE TABLE Conta_Cliente(
Cod_Cliente int(5),
Num_CC int(5) NOT NULL
)
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
56
Criação da tabela Conta
CREATE TABLE Conta(
Num_CC int(5) NOT NULL,
Saldo dec(10,2)
)
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
57
Registros da tabela Cliente
INSERT into cliente VALUES ('','Pedro','A','São Paulo')
INSERT into cliente VALUES ('','Maria','B','Jundiaí')
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
58
Registros da tabela Conta
INSERT into conta VALUES ('20121','1200')
INSERT into conta VALUES ('21582','1320')
INSERT into conta VALUES ('21352','652')
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
59
Registros da tabela Conta_cliente
INSERT into conta_cliente VALUES ('1','20121')
INSERT into conta_cliente VALUES ('2','20582')
INSERT into conta_cliente VALUES ('3','21352')
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
60
Alterando Registro
Ex: Complementar o Nome do cliente Pedro para Pedro Silva
UPDATE <NOME_TABELA>
SET <NOME_COLUNA> = VALOR
WHERE <CONDICAO>;
UPDATE cliente
SET Nome = 'Pedro Silva'
WHERE Cod_Cliente = 1;
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 61
Inclua mais um Cliente
Incluir o cliente João:
INSERT into cliente VALUES ('', 'João','C', ‘Recife')
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
62
Exclusão de Registros
DELETE FROM <NOME_TABELA>
WHERE <(CONDIÇÃO)>
DELETE FROM CLIENTE
WHERE CIDADE = "Recife"
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
63
Extraindo Dados das Tabelas
SELECT <COLUNAS>
FROM <TABELA>
SELECT Cod_Cliente, Nome, Cidade
FROM CLIENTE
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
64
Inclua mais dois Clientes
Incluir o cliente Peterson:
INSERT into cliente VALUES ('', 'Peterson','D', 'Recife')
Incluir a cliente Joana:
INSERT into cliente VALUES ('', 'Joana', 'E', 'Recife')
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
65
Extraindo Dados das Tabelas
SELECT <COLUNAS>
FROM <TABELA>
SELECT Cod_Cliente, Nome, Cidade
FROM CLIENTE
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
66
Extraindo Dados das Tabelas
Mostrar todas os clientes da Cidade de Recife
SELECT Cod_Cliente, Nome, Cidade
FROM CLIENTE
Where cidade = "Recife"
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
67
Extraindo Dados das Tabelas
Mostrar os clientes do banco com saldo de 1 a 700 Reais
Select num_cc,saldo
From conta
Where saldo between 1.00 and 700.00
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
68
O que é PHP?
PHP é uma linguagem que permite criar sites WEB dinâmicos, possibilitando uma interação com o usuário através de formulários, parâmetros da URL e links.
Uma das características mais importantes do PHP é o suporte a um grande número debancos de dados, como dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL e vários outros.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
70
Procure a Pasta htdocs na pasta Xampp do seu computador
Crie uma pasta Aula dentro da pasta htdocs.
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
72
Digitar no bloco de notas e salvar com o nome primeiro.php na pasta htdocs
na pasta xampp do seu computador
<html>
<head><title>Aprendendo PHP</title></head>
<body>
<?php
echo "Primeiro Script";
?>
</body>
</html> Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 73
Digite no navegador: http://localhost/aula/
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
74
O navegador exibirá o nosso primeiro Script Php!
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
76
O navegador irá mostrar Data e Hora
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
77
Php
<html> <head><title>Aprendendo PHP</title></head> <body> <?php $dia = date("d/m/y"); $hora = date("h:m:s"); echo "Data de Hoje:",$dia; echo " Hora:",$hora; ?> </body> </html>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
78
O navegador irá mostrar Data e Hora, um em cada linha, ou seja, com quebra
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
79
Php
<html> <head><title>Aprendendo PHP</title></head> <body> <?php $dia = date("d/m/y"); $hora = date("h:m:s"); // echo "Data de Hoje: ",$dia; echo "Data de Hoje: ",$dia; echo "<br /> Hora: ",$hora; ?> </body> </html>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
80
Área do retângulo
<html>
<head><title>Aprendendo PHP</title></head>
<body>
<?php
$largura = 5.6;
$altura = 8;
$area = $largura * $altura;
echo "A area do retângulo é ",$area,"cm quadrados";
echo "<br /> ";
echo "<br /> Este Retângulo possui a altura igual a ",$altura,"cm";
echo "<br /> e largura igual a ",$largura,"cm";
?>
</body>
</html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
82
Atividade Avaliativa1
Desenvolva um programa em PHP para calcular a área de um triângulo. Ao terminar mostre ao professor!
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
83
Área do triângulo
<html> <head><title>Aprendendo PHP</title></head> <body> <?php $base = 5.2; $altura = 8; $area = $base * $altura/2; echo "A area do triângulo é ",$area,"cm quadrados"; echo "<br /> "; echo "<br /> Este Triângulo possui a altura igual a ",$altura,"cm"; echo "<br /> e base igual a ",$base,"cm"; ?> </body> </html>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
84
Atividade Avaliativa!
Desenvolva um programa em Php para calcular a idade média das pessoas que estão ao seu lado no laboratório de informática! Quando terminar mostre ao professor!
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
85
Média da idade de três pessoas! <html>
<head><title>Aprendendo PHP</title></head>
<body>
<?php
$idade1 = 22;
$idade2 = 18;
$idade3 = 30;
$media = ($idade1+$idade2+$idade3)/3;
echo "A Média das idades da sua bancada é ",$media," anos";
echo " <br /> ";
echo " <br /> As pessoas possuem as seguintes idades: <br />",$idade1," anos ";
echo " <br /> ",$idade2," anos";
echo " <br /> ",$idade3," anos";
?>
</body>
</html> Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 86
Entrada de dados através de Formulários
Entrada de dados -> html Saída de dados -> php
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
87
Html -> Entrada de dados Salve o arquivo com o nome somaform.html
<html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="soma.php"> <input type="text" name="n1" /> <input type="text" name="n2" /> <input type="submit" value="Somar" /> </form> </body> </html>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
88
Php -> Saída de dados Salve o arquivo com o nome soma.php
<?php
extract($_POST);
echo $n1+$n2;
?>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
89
Tipo de triângulo (Html)
<html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="tipotriangulo.php"> lado 1 <input type="text" name="l1" /> lado 2 <input type="text" name="l2" /> lado 3 <input type="text" name="l3" /> <input type="submit" value="Verificar" /> </form> </body> </html>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
91
Tipo de triângulo (Php)
<?php extract($_POST); if (($l1==$l2) and ($l2==$l3)) echo "O triângulo é Equilátero"; elseif (($l1==$l2) or ($l1==$l3) or ($l2==$l3)) echo "O triângulo é Isóceles"; else echo "O triângulo é Escaleno"; ?>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
92
Entrada de Dados -> Html
<html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="tabuadamultiplicacao.php"> De qual numero você deseja a tabuada de multiplicação? <input type="text" name="n" /> <input type="submit" value="Mostrar a Tabela" /> </form> </body> </html>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
95
Saída de Dados -> PhP
<?php extract($_POST); $b=1; while ($b<=10){ echo "<br/>",$b,"X",$n,"=",$b*$n; $b=$b+1; } ?> Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 96
Conversão entre Escalas Termométricas (Celcius para Farenheit)
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
97
html
<html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="conversaotermometrica.php"> De qual temperatura na escala Celcius você deseja na escala Farenheit? <input type="text" name="t1" /> <input type="submit" value="Mostrar a conversão" /> </form> </body> </html>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
99
Php
<?php extract($_POST); echo "============================================== "; echo "<br />Conversão Termométrica de ",$t1,"ºC Para a Escala Farenheit"; echo "<br /> ============================================== "; echo ""; $tf=(9*$t1/5)+32; Echo "<br/>", $t1,"ºC -------->",$tf,"ºF"; echo "<br /> ============================================== "; ?>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
100
Tabela de Conversão (Celcius para farenheit)
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
101
Tabela de Conversão (Celcius para farenheit)
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
102
html
<html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="tabeladeconversao.php"> De qual temperatura inicial você deseja a tabela? <input type="text" name="t1" /> Até qual temperatura você deseja a conversão? <input type="text" name="t2" /> <input type="submit" value="Mostrar a Tabela" /> </form> </body> </html>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
103
PhP <?php
extract($_POST);
echo "============================================== ";
echo "<br />Tabela de Conversão Termométrica de ",$t1," ºC até",$t2," ºC Para Farenheit";
echo "<br /> ============================================== ";
echo "";
while ($t1<=$t2){
$tf=(9*$t1/5)+32;
Echo "<br/>", $t1,"ºC -------->",$tf,"ºF";
$t1=$t1+1;
}
echo "<br /> ============================================== ";
?>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
104
Metros para Centímetros, Milímetros e Kilômetros
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
105
Metros para Centímetros, Milímetros e Kilômetros
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
106
metrosform.html
<html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="metros.php"> Qual a medida inicial em metros você deseja converter para centímetros, milimetros e Kilômetros? <input type="text" name="M1" /> Qual a medida final em metros você deseja converter para centímetros, milimetros e Kilômetros? <input type="text" name="M2" /> <input type="submit" value="Mostrar a Tabela" /> </form> </body> </html>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
107
metros.php
<?php extract($_POST); echo "============================================== "; echo "<br />Tabela de Conversão de Metros",$M1," m até ",$M2," m"; echo "<br /> ============================================== "; echo ""; while ($M1<=$M2){ $cm=$M1*100; $mm=$M1*1000; $km=$M1/1000; Echo "<br/>", $M1,"M -------->",$cm,"Cm","-------->",$mm," Mm","-------->",$km," Km"; $M1=$M1+1; } echo "<br /> ============================================== "; ?>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
108
Conexão ao SGDB Mysql para realização de Inclusão, Exibição, Alteração e Remoção de Registros
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
109
Crie a tabela clientes no Banco de Dados test
Criando Uma Tabela CREATE TABLE clientes( codigo int(4) AUTO_INCREMENT, nome varchar(30) NOT NULL, email varchar(50), data_nascimento date, PRIMARY KEY (codigo) )
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
110
Conexão com o Banco de Dados Teste e com a tabela clientes. Salve na pasta Aula com o nome conexao.php
<?php
$host="localhost"; //nome do servidor
$username="root"; //Login Usuário Mysql
$password=""; //Senha do usuario Mysql
$db_name="test"; //Nome do Banco de Dados
$tabela="cliente"; //Tabela Clientes
//conexão com o servidor
//$conect = mysql_connect("$host", "$username", "$password");
$conect = mysql_connect($host, $username, $password);
// Caso a conexão seja reprovada, exibe na tela uma mensagem de erro
if (!$conect)
{
Echo "Falha na conexa com o Banco de Dados!";
exit();
}
// Caso a conexão seja aprovada, então conecta o Banco de Dados.
$db = mysql_select_db("db_name");
if(!@mysql_select_db ($db_name))
{
echo "Erro ao conectar ao Banco de dados"; exit();
}
?>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
111
Menu Principal -> Salvar o arquivo na pasta aula com o nome index.html
<html>
<title>Projeto Integração com Banco de Dados</title>
<body>
<h1>Menu</h1>
<a href="listarcliente.php">Listar Clientes</a> |
<a href="cadcliente.php">Cadastro de Clientes</a>
</body>
</html>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
113
.
.
.
<a href="listarcliente.php">Listar Clientes</a> |
<a href="cadcliente.php">Cadastro de Clientes</a>
.
.
.
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 114
Nome do arquivo: cadcliente.php Salvar na pasta: aula
<html> <body> <form method="post" action="incluircliente.php"> <a href="listarcliente.php">Listar Clientes</a> <a href="index.php">Voltar</a><br/><br/> <form action="incluircliente.php" method="post"> Nome: <input type="text" name="Nome" maxlength="50"/><br/> Email: <input type="text" name="Email" maxlength="20"/><br/> Data do Nascimento: <input type="text" name="data_nascimento" maxlength="20"/><br/> <input type="submit" name="salvar" value="Salvar" /> </form> </body> </html>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
116
Nome do arquivo: incluircliente.php Salvar na pasta: aula
<?php
//Conectando ao banco
include ("conexao.php");
//traz as variáveis do formulário
//$codcliente = $_POST["codcliente"];
$Nome = $_POST["Nome"];
$Email = $_POST["Email"];
$data_nascimento = $_POST["data_nascimento"];
//if para ver se foi executado com sucesso a query
if (mysql_query("insert into clientes (Nome, Email, data_nascimento) values ('$Nome','$Email','$data_nascimento')"))
{
//exibe a mensagem de Cadastrado e a de voltar a tela anterior
echo "Cadastrado! <br> <a href='javascript:history.back(-1);'>voltar<a/>";
exit;
//Se não, é exibido um erro
}else{
echo mysql_error();
exit;
}
?> Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 117
Nome do arquivo: listarcliente.php Salvar na pasta: aula
<?php
//Conectando
include("conexao.php");
//Fazendo uma busca no Banco de Dados
$sql = mysql_query("SELECT codigo, nome, email, data_nascimento FROM clientes");
echo "Codigo | Nome | E-mail | Data do Nascimento <br>";
//Retorna uma matriz associativa dos dados
while($exibe = mysql_fetch_assoc($sql)){
echo $exibe["codigo"]." | ";
echo $exibe["nome"]." | ";
echo $exibe["email"]." | ";
echo $exibe["data_nascimento"]."<br>";
}
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
119
Acrescentar o Editar e o Remover no listar clientes
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
120
Acrescentar e alterar no arquivo listarcliente.php
<?php
//Conectando
include("conexao.php");
//Fazendo uma busca no Banco de Dados
$sql = mysql_query("SELECT codigo, nome, email, data_nascimento FROM clientes");
echo "--------->Codigo | Nome | E-mail | Data do Nascimento <br>";
//Retorna uma matriz associativa dos dados
while($exibe = mysql_fetch_assoc($sql)){
echo"<a href='#'>Editar</a>";
echo $exibe["codigo"]." | ";
echo $exibe["nome"]." | ";
echo $exibe["email"]." | ";
echo $exibe["data_nascimento"]." | ";
//Passa por parâmetro a linha a ser removida
echo "<a href='removercliente.php?&codigo=".$exibe['codigo']."'>Remover</a> <br>";
}
?>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
121
Nome do arquivo: removercliente.php Salvar na pasta: aula
<?php //Conectando ao banco include ("conexao.php"); //envia via Get o código a ser removido ao Banco de Dados $codigo = $_GET["codigo"]; //if para ver se foi removido com sucesso a query if (mysql_query("delete from clientes where codigo='$codigo'")) { //exibe a mensagem de Remoção e volta a tela anterior echo "Removido! <br> <a href='javascript:history.back(-1);'>voltar<a/>"; exit; //Se não, será exibido um erro }else{ echo mysql_error(); exit; } ?>
Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com
123
Acrescentar e alterar no arquivo listarcliente.php
<?php //Conectando include("conexao.php"); //Fazendo uma busca no Banco de Dados $sql = mysql_query("SELECT codigo, nome, email, data_nascimento FROM clientes"); echo "--------->Codigo | Nome | E-mail | Data do Nascimento <br>"; //Retorna uma matriz associativa dos dados while($exibe = mysql_fetch_assoc($sql)){ echo"<a href='editarclienteform.php?&codigo=".$exibe['codigo']."'>Editar</a>"; echo $exibe["codigo"]." | "; echo $exibe["nome"]." | "; echo $exibe["email"]." | "; echo $exibe["data_nascimento"]." | "; //Passa por parâmetro a linha a ser removida echo "<a href='removercliente.php?&codigo=".$exibe['codigo']."'>Remover</a> <br>"; } ?> Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 126
Nome do arquivo: editarclienteform.php pasta: aula
<html>
<body>
<?php
include("conexao.php");
$codigo = $_GET["codigo"];
$sql = mysql_query("select * from clientes where codigo='$codigo'");
$exibe = mysql_fetch_assoc($sql);
?>
<form method="post" action="editarcliente.php">
<a href="listarcliente.php">Listar Clientes</a>
<input name="codigo" type="hidden" value="<?php echo $exibe["codigo"]; ?>"/>
<a href="index.php">Voltar</a><br/><br/>
<form action="incluircliente.php" method="post">
Nome: <input type="text" name="Nome" maxlength="50" value="<?php echo $exibe["nome"]; ?>"/>
Email: <input type="text" name="Email" maxlength="20" value="<?php echo $exibe["email"]; ?>"/>
Data do Nascimento: <input type="text" name="data_nascimento" maxlength="20" value="<?php echo $exibe["email"]; ?>"/>
<input type="submit" name="Salvar" value="Salvar" />
</form>
</body>
</html> Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 127
Nome do arquivo: editarcliente.php pasta: aula
<?php
//Conectando ao banco
include ("conexao.php");
//traz as variáveis do formulário
$codigo = $_POST["codigo"];
$Nome = $_POST["Nome"];
$Email = $_POST["Email"];
$data_nascimento = $_POST["data_nascimento"];
//if para ver se foi executado com sucesso a query
if (mysql_query("update clientes set Nome='$Nome',Email='$Email',data_nascimento='$data_nascimento' where codigo='$codigo'")){
//exibe a mensagem de Cadastrado e a de voltar a tela anterior
echo "Alterado! <br> <a href='javascript:history.back(-1);'>voltar<a/>";
exit;
//Se não é exibido um erro
}else{
echo mysql_error();
exit;
}
?> Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com 128