Para o do Xampp

Propaganda
Programação Web (Sql,Php)
Prof. Luiz Claudio Ferreira de Souza
www.luizclaudiofs.blogspot.com
Para o Download do Xampp
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
2
S.O para instalação
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
3
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
4
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
5
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
6
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
7
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
8
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
9
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
10
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
11
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
12
SGDB
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
13
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
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
39
Start do Apache e MySQL
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
40
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
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
43
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
Nome
Rua
Cidade
Num_CC
Saldo
-> inteiro, 5 , autoincremento
-> Caractere, 25 , não ficar em branco
-> Caractere, 25,
-> Caractere, 15
-> inteiro, 5
-> 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 =Prof.
1;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
Personal Home Page
PHP
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
69
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
O Apache deve ser Iniciado
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
71
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
Clique no primeiro.php
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
75
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
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
81
Á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
Entrada e Saída dos Dados.
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
90
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
Tabela de Multiplicação
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
93
Tabela de Multiplicação
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
94
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
Resultado da transformação
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
98
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
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
112
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
cadcliente.php
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
115
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
Listar Clientes
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
118
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
Remover Registro
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
122
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
Alterar um Registro
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
124
Alterar um Registro
Prof. Luiz Claudio F. de Souza
www.luizclaudiofs.blogspot.com
125
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>
Prof. Luiz Claudio F. de Souza
127
</html>
www.luizclaudiofs.blogspot.com
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
Download