Arquitetura do exemplo Index.html TelaCadastro.html TelaConsulta.html TelaExclui.html...

Preview:

Citation preview

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:

Criação do banco de dados e das tabelas

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

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.

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.

Criação do banco de dados e das tabelas

Aparecerá a seguinte tela:

Pronto. Pode fechar o phpMyAdmin.

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>

Digitação do formulário de cadastro

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

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>

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>

Digitação do formulário de cadastro

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

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());

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>

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");

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).

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); }

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>

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());

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>"; }

Digitação do arquivo consulta.php

mysql_close($con); }

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

</body></html>

Tela resultante:

Puff

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.

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());

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>"; }

Digitação do arquivo listar.php

echo "</table>"; }

mysql_close($con); }

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

</body></html>

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>

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);

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>

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>

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

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);

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> ";

Digitação do arquivo altera.php

mysql_close($con); }

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

</body></html>

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'";

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>

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.

Recommended