arquitetura do exemplo index.html telacadastro.html telaconsulta.html telaexclui.html...

34
Arquitetura do exemplo Index.ht ml TelaCadastro .html TelaConsulta .html TelaExclui.h tml TelaAltera.h tml listar.php cadastro.php consulta.php exclui.php altera.php alteradados. php bdclien te O exemplo apresentado nessa aula é composto pelos seguintes arquivos:

Upload: internet

Post on 18-Apr-2015

119 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Arquitetura do exemplo

Index.html

TelaCadastro.html

TelaConsulta.html

TelaExclui.html

TelaAltera.html

listar.php

cadastro.php

consulta.php

exclui.php

altera.php alteradados.php

bdcliente

O exemplo apresentado nessa aula é composto pelos seguintes arquivos:

Page 2: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Criação do banco de dados e das tabelas

Para criar o banco de dados selecione a opção phpMyAdmin.

Page 3: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Criação do banco de dados e das tabelas

Na tela do phpMyAdmin, digite bdcliente no campo Criar novo Banco de Dados e clique no botão Criar.

Na nova tela que aparece, digite tabcliente no campo Nome e 3 no campo Número de arquivos e clique no botão EXECUTAR. Nesses campos você está definindo o nome da tabela e o número de campos. Como criaremos os campos para cadastrar Código, Nome e Renda, o número é 3.

Page 4: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Criação do banco de dados e das tabelas

Na nova tela que aparece, preencha os campos como mostra a figura abaixo. Observe que serão criados os campos Cod_Cli do tipo int (Inteiro), Nom_Cli do tipo varchar (String) e Ren_Cli do tipo double(real).

Clique no botão Salvar.

Page 5: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Criação do banco de dados e das tabelas

Aparecerá a seguinte tela:

Pronto. Pode fechar o phpMyAdmin.

Page 6: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do Menu do sistema

Criaremos um menu simples, tendo como finalidade evidenciar as operações no banco de dados.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Menu Principal </title> </head> <body><ul> <li><a href="TelaCadastro.html" target="_top"> Cadastrar </a></li> <li><a href="TelaConsulta.html" target="_top"> Consultar </a> </li> <li><a href="TelaAltera.html" target="_top"> Alterar </a> </li> <li><a href="listar.php" target="_top"> Listar </a> </li> <li><a href="TelaExclui.html" target="_top"> Excluir </a></li> </ul> </body> </html>

Page 7: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do formulário de cadastro

O formulário de cadastro (TelaCadastro.html) será criado em uma tabela, como mostra a figura abaixo:

Page 8: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do formulário de cadastro

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Formulário de Cadastro</title> </head> <body> <form action="cadastro.php" method="POST"> <table border="1"> <tr> <td> Código: </td><td> <input type="text" name="txtCodigo" size="20" /> </td> </tr>

Page 9: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do formulário de cadastro

<tr> <td> Nome: </td> <td> <input type="text" name="txtNome" size="50" /> </td> </tr> <tr> <td> Renda: </td> <td> <input type="text" name="txtRenda" size="15" /> </td></tr>

Page 10: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do formulário de cadastro

<tr> <td colspan="2"> <input type="submit" value="Salvar" /> </td> </tr> </table> </form> </body></html>

Page 11: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo cadastro.php

O arquivo cadastro.php receberá os dados enviados do formulário TelaCadastro.html e armazenará na tabela tabcliente do banco de dados bdcliente.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br"> <head> <title> Cadastro </title> </head> <body>

<?php $cod = $_POST["txtCodigo"]; $nom = $_POST["txtNome"]; $ren = $_POST["txtRenda"]; $con = mysql_connect("localhost","root",“fmu"); if (!$con) { echo('Impossível conectar: ' . mysql_error());

Page 12: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo cadastro.php

} else { mysql_select_db("BdCliente", $con); $sql = "INSERT INTO tabcliente (Cod_Cli, Nom_Cli, Ren_Cli)

VALUES ('$cod', '$nom', '$ren')"; if (mysql_query($sql,$con)) { echo mysql_affected_rows() . " registro adicionado com sucesso"; } else { echo('Erro no cadastro: ' . mysql_error()); } mysql_close($con); }?><br /><br /><a href="index.html"> Voltar ao menu </a>

</body></html>

Page 13: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Explicação do arquivo cadastro.php

As linhas seguintes recebem os valores digitados nos campos txtCódigo, txtNome e txtRenda do formulário TelaCadastro.html e armazena nas variáveis $cod, $nom e $ren.

$cod = $_POST["txtCodigo"]; $nom = $_POST["txtNome"]; $ren = $_POST["txtRenda"];

A linha seguinte faz a conexão com o banco de dados e armazena a conexão na variável $con. Observe que root é o nome do usuário e fmu é a senha. Se você não modificou a instalação a senha é vazia “”. Substitua então “fmu” por “”.

$con = mysql_connect("localhost","root",“fmu");

Page 14: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Explicação do arquivo cadastro.php

As linhas mostradas nos próximos slides verificam se a conexão falhou, ou seja, se o conteúdo da variável $con é falso. Se a conexão falhou, a mensagem Impossível conectar é mostrada juntamente com os dados do erro. Se a conexão deu certo, o banco de dados BdCliente é aberto e uma instrução INSERT da linguagem SQL é armazenada na variável $sql. Essa instrução é encarregada de inserir os dados contidos nas variáveis $cod, $nom e $ren nos campos Cod_Cli, Nom_Cli e Ren_Cli da tabela tabcliente do banco de dados bdcliente. A instrução mysql_query($sql,$con) executa a instrução INSERT contida na variável $sql e se tudo correr bem será mostrado o número de registros da tabela que foram inseridos (mysql_affected_rows() ) e a mensagem "registro adicionado com sucesso“. Se der erro é mostrada a mensagem 'Erro no cadastro: ‘ e os detalhes do erro (mysql_error()). Por fim, a conexão com o banco de dados é encerrada. mysql_close($con).

Page 15: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Explicação do arquivo cadastro.php

if (!$con) { echo('Impossível conectar: ' . mysql_error());

} else { mysql_select_db("BdCliente", $con); $sql = "INSERT INTO tabcliente (Cod_Cli, Nom_Cli, Ren_Cli)

VALUES ('$cod', '$nom', '$ren')"; if (mysql_query($sql,$con)) { echo mysql_affected_rows() . " registro adicionado com sucesso"; } else { echo('Erro no cadastro: ' . mysql_error()); } mysql_close($con); }

Page 16: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do formulário de consulta

O formulário de consulta (TelaConsulta.html) será criado em uma tabela, como mostra a figura abaixo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Formulário de Consulta</title> </head> <body> <form action="consulta.php" method="GET"> <table border="1"> <tr> <td> Código: </td> <td> <input type="text" name="txtCodigo" size="20" /> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="Consultar" /> </td> </tr> </table> </form> </body></html>

Page 17: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo consulta.php

O arquivo consulta.php recebe o código digitado no formulário TelaConsulta.html e faz uma busca na tabela tabcliente do banco de dados bdcliente.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Consulta </title> </head> <body>

<?php $cod = $_GET["txtCodigo"]; $con = mysql_connect("localhost","root",“fmu"); if (!$con) { echo('Impossível conectar: ' . mysql_error());

Page 18: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo consulta.php

} else { mysql_select_db("BdCliente", $con);

$resultado = mysql_query("SELECT * FROM tabcliente where Cod_Cli = $cod"); $registros = mysql_num_rows($resultado); if($registros==0){ echo "Registro não cadastrado"; } else { echo "<table border='1' width='30%'> <tr> <td> Codigo </td> <td> Nome </td> <td> Renda </td> </tr>";

while($linha = mysql_fetch_array($resultado)) { echo "<tr>"; echo "<td>" . $linha['Cod_Cli'] . "</td>"; echo "<td>" . $linha['Nom_Cli'] . "</td>"; echo "<td>" . $linha['Ren_Cli'] . "</td>"; echo "</tr>"; }

echo "</table>"; }

Page 19: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo consulta.php

mysql_close($con); }

?><br /><br /><a href="index.html"> Voltar ao menu </a>

</body></html>

Tela resultante:

Puff

Page 20: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Explicação do arquivo consulta.php

O arquivo consulta.php recebe o código digitado no campo txtCodigo do formulário TelaConsulta.html e armazena na variável $cod.Em seguida, uma conexão com o banco de dados é estabelecida e armazenada na variável $con. Se a conexão falhar, a mensagem "Impossível conectar" é mostrada juntamente com os dados do erro. Se a conexão der certo, o banco de dados BdCliente é aberto para atender a conexão contida na variável $con. Em seguida, uma instrução SELECT da linguagem SQL é executada para localizar o registro cujo conteúdo do campo Cod_Cli é igual ao conteúdo da variável $cod. O retorno dessa consulta é armazenado na array $resultado.Em seguida, a variável $registros armazena o número de registros (clientes) retornados na consulta. Se esse número for zero a mensagem "Registro não cadastrado" é exibida. Se esse número for maior que zero, o que significa que a consulta retornou pelo menos um cliente, uma tabela é gerada e os dados do(s) cliente(s) é (são) exibido(s) por meio de um laço de repetição.Por fim, a conexão com o banco de dados é fechada.

Page 21: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo listar.php

O arquivo listar.php é chamado ao clicar no link Listar do menu principal. Esse arquivo seleciona todos os registros cadastrados na tabela tabcliente do banco de dados bdcliente e exibe em uma tabela. É basicamente uma cópia do arquivo consulta.php, mudando apenas a instrução SELECT e as mensagens de erro. Por ser semelhante ao arquivo consulta.php que já foi explicado, esse arquivo não será comentado.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Listagem </title> </head> <body>

<?php $con = mysql_connect("localhost","root",“fmu"); if (!$con) { echo('Impossível conectar: ' . mysql_error());

Page 22: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo listar.php

} else { mysql_select_db("BdCliente", $con); $resultado = mysql_query("SELECT * FROM tabcliente");

$registros = mysql_num_rows($resultado); if($registros==0){ echo "Não há registros cadastrados"; } else { echo "<table border='1' width='30%'> <tr> <td> Codigo </td> <td> Nome </td> <td> Renda </td> </tr>";

while($linha = mysql_fetch_array($resultado)) { echo "<tr>"; echo "<td>" . $linha['Cod_Cli'] . "</td>"; echo "<td>" . $linha['Nom_Cli'] . "</td>"; echo "<td>" . $linha['Ren_Cli'] . "</td>"; echo "</tr>"; }

Page 23: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo listar.php

echo "</table>"; }

mysql_close($con); }

?><br /><br /><a href="index.html"> Voltar ao menu </a>

</body></html>

Page 24: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo TelaExclui.html

Esse arquivo origina um formulário para a digitação do código do cliente a ser excluído.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Formulário de Consulta para Exclusão</title> </head> <body> <form action="exclui.php" method="GET"> <table> <tr> <td> Código: </td> <td> <input type="text" name="txtCodigo" size="20" /> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="Excluir" /> </td></tr> </table> </form> </body></html>

Page 25: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo exclui.php

Esse arquivo exclui o registro cujo código foi digitado no formulário TelaExclui.html do banco de dados bdcliente.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Exclusão </title> </head> <body>

<?php $cod = $_GET["txtCodigo"]; $con = mysql_connect("localhost","root",“fmu"); if (!$con) { echo('Impossível conectar: ' . mysql_error()); } else { mysql_select_db("BdCliente", $con);

Page 26: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo exclui.php

$retorno=mysql_query("DELETE FROM tabcliente where Cod_Cli=$cod"); if ($retorno==true) {

echo mysql_affected_rows() . " registro(s) excluído(s)"; } else { echo("Não foi possível excluir o registro"); } mysql_close($con); }?><br /><br /><a href="index.html"> Voltar ao menu </a>

</body></html>

Page 27: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo TelaAltera.html

Esse arquivo gera um formulário para a digitação do código do cliente a ser alterado.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Formulário de Consulta para Alteração</title> </head> <body> <form action="altera.php" method="GET"> <table> <tr> <td> Código:</td> <td> <input type="text" name="txtCodigo" size="20" /> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="Alterar" /> </td> </tr> </table> </form> </body></html>

Page 28: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo altera.php

Esse arquivo busca os dados do cliente cujo código foi digitado no arquivo TelaAltera.html e exibe em um formulário para a alteração apenas dos campos Nom_Cli e Ren_Cli. O campo Cod_Cli não é alterado em operações de modificação de dados.

Puff

Page 29: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo altera.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Alteração </title> </head> <body>

<?php $cod = $_GET["txtCodigo"]; $con = mysql_connect("localhost","root",“fmu"); if (!$con) { echo('Impossível conectar: ' . mysql_error()); } else { mysql_select_db("BdCliente", $con);

$resultado = mysql_query("SELECT * FROM tabcliente where Cod_Cli = $cod"); $linha = mysql_fetch_array($resultado);

Page 30: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo altera.php

echo " <form method='POST' action='alteradados.php'> <table> <tr> <td> Código: </td> <td> <input type='text' name='txtCodigo' readonly='readonly' value='$linha[Cod_Cli]' size='20' /> </td> </tr> <tr> <td>Nome:</td> <td> <input type='text' name='txtNome' value='$linha[Nom_Cli]' size='50' /> </td> </tr> <tr> <td> Renda: </td> <td> <input type='text' name='txtRenda' value='$linha[Ren_Cli]' size='15' /> </td> </tr> <tr> <td colspan='2'> <input type='submit' value='Salvar' /> </td> </tr> </table> </form> ";

Page 31: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo altera.php

mysql_close($con); }

?><br /><br /><a href="index.html"> Voltar ao menu </a>

</body></html>

Page 32: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo alteradados.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br"> <head> <title> Alteração </title> </head> <body>

<?php $cod = $_POST["txtCodigo"]; $nom = $_POST["txtNome"]; $ren = $_POST["txtRenda"]; $con = mysql_connect("localhost","root",“fmu"); if (!$con) { echo('Impossível conectar: ' . mysql_error()); } else { mysql_select_db("BdCliente", $con); $sql = "UPDATE tabcliente SET Nom_Cli = '$nom', Ren_Cli='$ren'

where Cod_Cli='$cod'";

Page 33: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Digitação do arquivo alteradados.php

if (!mysql_query($sql,$con)) { echo('Erro na alteração: ' . mysql_error()); } else { echo mysql_affected_rows() . " registro(s) alterado(s)"; } mysql_close($con); }?><br /><br /><a href="index.html"> Voltar ao menu </a>

</body></html>

Page 34: Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html TelaAltera.html listar.php cadastro.php consulta.php exclui.php altera.phpalteradados.php

Informações gerais

Lembre-se de mudar as linhas de conexão com o banco de dados de $con = mysql_connect("localhost","root",“fmu"); para $con = mysql_connect("localhost","root",""); já que por padrão o MySQL vem sem senha.