Your SlideShare is downloading. ×
0
CRUD com PHP
18 CRUD com PHP
CRUD é o acrônimo da expressão em língua Inglesa Create,
Retrieve, Update e Delete, usada par...
CRUD com PHP
18.1 Exercício com CRUD
Para este exercício vamos alterar a tabela paises para incluir
dois campo adicionais,...
CRUD com PHP
18.2 Exercício com CRUD
Efectuamos um clique com o botão direito do rato sobre a
tabela países e escolhemos “...
CRUD com PHP
18.3 Exercício com CRUD
Escolhemos “Columns” e criamos os campos como no
exemplo.
Seguidamente, fazemos “Appl...
CRUD com PHP
18.4 Exercício com CRUD
Fazemos refresh e verificamos as alterações efectuadas.
CRUD com PHP
18.5 Exercício com CRUD
Criação do ficheiro index.php
Este ficheiro vai conter o código inicial deste exemplo...
CRUD com PHP
18.6 Exercício com CRUD
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</h...
CRUD com PHP
18.7 Exercício com CRUD
No slide anterior criamos uma página HTML básica que contém
dois form, cada um com um...
CRUD com PHP
18.8 Exercício com CRUD
O exemplo do resultado do nosso código HTML para o ficheiro
index.php é o seguinte:
CRUD com PHP
18.9 Exercício com CRUD
Criar o ficheiro introduzireditar.php.
Este ficheiro permitirá introduzir e editar no...
CRUD com PHP
18.10 Exercício com CRUD
<form action="introduzireditar.php" method="POST"
name="introduzir">
<label for="nom...
CRUD com PHP
18.11 Exercício com CRUD
</form>
<a href="index.php">Voltar</a>
</body>
</html>
CRUD com PHP
18.12 Exercício com CRUD
A nossa página ficará como o exemplo abaixo:
CRUD com PHP
18.13 Exercício com CRUD
Introduzir o código PHP no ficheiro introduzireditar.php.
Criar uma pasta chamada “i...
CRUD com PHP
18.14 Exercício com CRUD
//testa se a conexão teve sucesso; se não teve dá erro e termina
o script
if (!$cone...
CRUD com PHP
18.15 Exercício com CRUD
O código anterior efectua a ligação ao nosso servidor MySql
usando as configurações ...
CRUD com PHP
18.16 Exercício com CRUD
Detectar um POST
Como já deve ter reparado, o form contido no script
introduziredita...
CRUD com PHP
18.17 Exercício com CRUD
Seleccionar a base de dados e o charset
Devemos antes de manipular os nossos registo...
CRUD com PHP
18.18 Exercício com CRUD
Recolher os dados do array $_POST
Neste passo vamos criar três variáveis auxiliares,...
CRUD com PHP
18.19 Exercício com CRUD
Criar o comando SQL para inserir os dados e testar se executou sem
erros
Inserir as ...
CRUD com PHP
18.20 Exercício com CRUD
Testar o script
Nesta fase, já deve ser possível introduzir novos registos.
Executar...
CRUD com PHP
18.21 Exercício com CRUD
Criar o script listar.php
Este script mostrará uma lista dos países e as suas inform...
CRUD com PHP
18.22 Exercício com CRUD
<html>
<head>
<meta http-equiv="content-type" content="text/html;
charset=UTF-8">
</...
CRUD com PHP
18.23 Exercício com CRUD
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<a href="index.php">Voltar</a>
</b...
CRUD com PHP
18.24 Exercício com CRUD
Efectuar a ligação à base de dados
Este passo é semelhante ao do exemplo anterior. D...
CRUD com PHP
18.25 Exercício com CRUD
Seleccionar a base de dados e o charset
À semelhança do ficheiro anterior, seleccion...
CRUD com PHP
18.26 Exercício com CRUD
Definir o comando SQL a executar
O comando que vamos executar deve mostrar todos os ...
CRUD com PHP
18.27 Exercício com CRUD
Iterar sobre os registos
Para iterarmos sobre os registos, necessitamos de um ciclo ...
CRUD com PHP
18.28 Exercício com CRUD
Iterar sobre os registos
Para iterarmos sobre os registos, necessitamos de um ciclo ...
CRUD com PHP
18.29 Exercício com CRUD
Pelo seguinte código:
<?php
while($registos = mysql_fetch_array($paises))
{
echo "<t...
CRUD com PHP
18.30 Exercício com CRUD
echo "<td>n";
echo "<form name="editar" action="editarpais.php" method="GET">";
echo...
CRUD com PHP
18.31 Exercício com CRUD
Colocamos um novo header para a tabela com o texto opções. Onde temos o
código:
<tr>...
CRUD com PHP
18.32 Exercício com CRUD
Criar o script editarpais.php
Este script vai permitir que o registo seleccionado se...
CRUD com PHP
18.33 Exercício com CRUD
Código do script editarpais.php
Neste passo vamos criar um novo ficheiro editarpais....
CRUD com PHP
18.34 Exercício com CRUD
<label for="moedapais">Moeda: </label>
<input type="text" name="moedapais" value="" ...
CRUD com PHP
18.35 Exercício com CRUD
Código PHP para extrair o ID do registo a editar
Criar um bloco de código PHP logo a...
CRUD com PHP
18.36 Exercício com CRUD
O código anterior primeiro testa se a variável idpais, do array
superglobal existe. ...
CRUD com PHP
18.37 Exercício com CRUD
Seguidamente, colocamos o código abaixo:
//inclui o ficheiro com as configurações da...
CRUD com PHP
18.38 Exercício com CRUD
mysql_select_db("aulasphp", $conexao);
mysql_set_charset('utf8',$conexao);
$sql = "S...
CRUD com PHP
18.39 Exercício com CRUD
Parte do código anterior já é conhecido. O query SQL executado
pesquisa na tabela de...
CRUD com PHP
18.40 Exercício com CRUD
Alteraçao dos inputs do formulário.
Com os dados do registo já atribuídos a um array...
CRUD com PHP
18.41 Exercício com CRUD
Actualizar o script introduzireditar.php
Este script deve ser alterado para servir n...
CRUD com PHP
18.42 Exercício com CRUD
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
//inclui o ficheiro com as configurações...
CRUD com PHP
18.43 Exercício com CRUD
O código anterior testa se foi efectuado um POST, efectua o
require das configuraçõe...
CRUD com PHP
18.44 Exercício com CRUD
Efectuar insert ou update?
O próximo bloco de código vai permitir efectuar um insert...
CRUD com PHP
18.45 Exercício com CRUD
if (array_key_exists("actualizar", $_POST))
{
session_start();
$idPais = mysql_real_...
CRUD com PHP
18.46 Exercício com CRUD
else
{
$nomePais = mysql_real_escape_string($_POST["nomepais"]);
$moedaPais = mysql_...
CRUD com PHP
18.47 Exercício com CRUD
Este código que introduzimos é responsável pelo seguinte:
Testar de onde vem o POST
...
CRUD com PHP
18.48 Exercício com CRUD
Construir o query SQL e efectuar o UPDATE
No código abaixo, vamos construir o nosso ...
CRUD com PHP
18.49 Exercício com CRUD
Inserir um novo registo
A inserção de um novo registo será efectuada sempre como alt...
CRUD com PHP
18.50 Exercício com CRUD
Devemos introduzir o código abaixo no “else” da condição:
$nomePais = mysql_real_esc...
CRUD com PHP
18.51 Exercício com CRUD
Devemos introduzir o código abaixo no “else” da condição:
$nomePais = mysql_real_esc...
CRUD com PHP
18.52 Exercício com CRUD
O script eliminarpais.php
Para completar o nosso exercício, falta implementar uma fo...
Upcoming SlideShare
Loading in...5
×

18 - CRUD com php

5,645

Published on

CRUD com php

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,645
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
129
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "18 - CRUD com php"

  1. 1. CRUD com PHP 18 CRUD com PHP CRUD é o acrônimo da expressão em língua Inglesa Create, Retrieve, Update e Delete, usada para definir quatro operações básicas usadas em bancos de dados relacionais (RDBMS) ou em interface para usuários para criação, consulta, atualização e destruição de dados. pt.wikipedia.org/wiki/CRUD.
  2. 2. CRUD com PHP 18.1 Exercício com CRUD Para este exercício vamos alterar a tabela paises para incluir dois campo adicionais, a moeda e população. Alterar a tabela Paises Efectuamos a ligação à nossa base de dados, através da ligação pré-estabelcida no MySql Workbench.
  3. 3. CRUD com PHP 18.2 Exercício com CRUD Efectuamos um clique com o botão direito do rato sobre a tabela países e escolhemos “Alter Table”.
  4. 4. CRUD com PHP 18.3 Exercício com CRUD Escolhemos “Columns” e criamos os campos como no exemplo. Seguidamente, fazemos “Apply”, seguido de “Apply Sql” e depois “Finish” e “Close” para fechar a janela.
  5. 5. CRUD com PHP 18.4 Exercício com CRUD Fazemos refresh e verificamos as alterações efectuadas.
  6. 6. CRUD com PHP 18.5 Exercício com CRUD Criação do ficheiro index.php Este ficheiro vai conter o código inicial deste exemplo. Deve criar uma pasta chamada CRUD, e criar um ficheiro chamado index.php
  7. 7. CRUD com PHP 18.6 Exercício com CRUD <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> Opções:<br/> <form action="introduzireditar.php" method="GET" name="paises"> <input type="submit" value="Introduzir" /> </form> <form action="listar.php" method="GET" name="paises"> <input type="submit" value="Listar" /> </form> </body> </html>
  8. 8. CRUD com PHP 18.7 Exercício com CRUD No slide anterior criamos uma página HTML básica que contém dois form, cada um com um botão, um para introduzir um novo país e outro para listar os países. Na opção de listar, vamos poder editar ou eliminar os países se o desejarmos. Deve criar uma pasta dentro da pasta CRUD, chamada “includes”, e copiar para dentro desta pasta o ficheiro config.php criado no último exemplo.
  9. 9. CRUD com PHP 18.8 Exercício com CRUD O exemplo do resultado do nosso código HTML para o ficheiro index.php é o seguinte:
  10. 10. CRUD com PHP 18.9 Exercício com CRUD Criar o ficheiro introduzireditar.php. Este ficheiro permitirá introduzir e editar novos países. O seu código HTML inicial é o seguinte: <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> Introduzir os dados do País:<br />
  11. 11. CRUD com PHP 18.10 Exercício com CRUD <form action="introduzireditar.php" method="POST" name="introduzir"> <label for="nomepais">Nome País: </label> <input type="text" name="nomepais" value="" /> <br /> <label for="moedapais">Moeda: </label> <input type="text" name="moedapais" value="" /> <br /> <label for="populacaopais">População: </label> <input type="text" name="populacaopais" value="" /> <br /> <input type="submit" value="Gravar" />
  12. 12. CRUD com PHP 18.11 Exercício com CRUD </form> <a href="index.php">Voltar</a> </body> </html>
  13. 13. CRUD com PHP 18.12 Exercício com CRUD A nossa página ficará como o exemplo abaixo:
  14. 14. CRUD com PHP 18.13 Exercício com CRUD Introduzir o código PHP no ficheiro introduzireditar.php. Criar uma pasta chamada “include” e colocar dentro da pasta o ficheiro config.php. Introduzir o seguinte código no inicio do ficheiro introduzireditar.php, antes da primeira tag HTML e dentro das tags PHP <?php … ?>. <?php //inclui o ficheiro com as configurações da base de dados require_once("includes/config.php"); //efectua a conexão com os dados do ficheiro config.php $conexao = mysql_connect($dbhost, $dbuser, $dbpassword);
  15. 15. CRUD com PHP 18.14 Exercício com CRUD //testa se a conexão teve sucesso; se não teve dá erro e termina o script if (!$conexao) { die('Erro de conexão: ' . mysql_error()); } ?>
  16. 16. CRUD com PHP 18.15 Exercício com CRUD O código anterior efectua a ligação ao nosso servidor MySql usando as configurações do ficheiro config.php. A conexão é efectuada com a função mysql_connect(), que recebe os parâmetros para a ligação, o host onde reside a base de dados, o utilizador e password definidos. Um ponto importante é a verificação se a ligação foi bem sucedida, com a instrucção if (!conexao). Caso não tenha tido sucesso, o script é terminado com a mensagem „Erro de conexão‟ , seguido do respectivo erro do MySql.
  17. 17. CRUD com PHP 18.16 Exercício com CRUD Detectar um POST Como já deve ter reparado, o form contido no script introduzireditar.php, efectua um POST sobre si mesmo. A forma de sabermos que foi efectuado um POST e que o script deve recolher os valores de cada campo e efectuar a inserção dos dados na tabela é efectuado pela condição: if ($_SERVER["REQUEST_METHOD"] == "POST") { } Deve colocar a condição na segunda linha do script, logo a seguir a tag inicial do PHP <?php e fechar o if imediatamente antes da tag de fecho ?>.
  18. 18. CRUD com PHP 18.17 Exercício com CRUD Seleccionar a base de dados e o charset Devemos antes de manipular os nossos registos, seleccionar a base de dados com o comando: mysql_select_db($dbdatabase, $conexao); e definir o charset com a instrucção: mysql_set_charset('utf8',$conexao); Estas duas linhas devem ser colocadas a seguir à instrução: if (!$conexao) { die('Erro de conexão: ' . mysql_error()); }
  19. 19. CRUD com PHP 18.18 Exercício com CRUD Recolher os dados do array $_POST Neste passo vamos criar três variáveis auxiliares, que vão receber os dados do array $_POST, previamente “escapados” com a função mysql_real_escape_string() para prevenir sql injection. Colocar as instruções logo abaixo às do ponto anterior. $nomepais = mysql_real_escape_string($_POST["nomepais"]); $moedapais = mysql_real_escape_string($_POST["moedapais"]); $populacaopais = mysql_real_escape_string($_POST["populacaopais"]);
  20. 20. CRUD com PHP 18.19 Exercício com CRUD Criar o comando SQL para inserir os dados e testar se executou sem erros Inserir as intrucções abaixo, logo após as instrucções do ponto anterior. $sql = "INSERT INTO paises (nome_pais, moeda_pais, populacao_pais)" . " VALUES ('" . $nomepais . "', '" . $moedapais . "', " . $populacaopais . ")"; $insert = mysql_query($sql); if (!$insert) { echo $sql; echo 'Erro ao inserir o registo: ' . mysql_error(); }
  21. 21. CRUD com PHP 18.20 Exercício com CRUD Testar o script Nesta fase, já deve ser possível introduzir novos registos. Executar agora um teste.
  22. 22. CRUD com PHP 18.21 Exercício com CRUD Criar o script listar.php Este script mostrará uma lista dos países e as suas informações. Nesta lista será possível também efectuar a eliminação e edição de registos.
  23. 23. CRUD com PHP 18.22 Exercício com CRUD <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <table border="black"> <tr> <th>Nome País</th> <th>Moeda</th> <th>População</th> </tr>
  24. 24. CRUD com PHP 18.23 Exercício com CRUD <tr> <td></td> <td></td> <td></td> </tr> </table> <a href="index.php">Voltar</a> </body> </html>
  25. 25. CRUD com PHP 18.24 Exercício com CRUD Efectuar a ligação à base de dados Este passo é semelhante ao do exemplo anterior. Devem introduzir as instrucções abaixo dentro das tags do PHP: //inclui o ficheiro com as configurações da base de dados require_once("includes/config.php"); //efectua a conexão com os dados do ficheiro config.php $conexao = mysql_connect($dbhost, $dbuser, $dbpassword); //testa se a conexão teve sucesso; se não teve dá erro e termina o script if (!$conexao) { die('Erro de conexão: ' . mysql_error()); }
  26. 26. CRUD com PHP 18.25 Exercício com CRUD Seleccionar a base de dados e o charset À semelhança do ficheiro anterior, seleccionamos a base de dados e definimos o charset. Colocamos as instrucções abaixo logo a seguir às do ponto anterior: mysql_select_db("aulasphp", $conexao); mysql_set_charset('utf8',$conexao);
  27. 27. CRUD com PHP 18.26 Exercício com CRUD Definir o comando SQL a executar O comando que vamos executar deve mostrar todos os registos presentes na tabela paises. Para esse efecito, um simples select é suficiente. Colocar as intrucções a seguir às do ponto anterior. $sql = "SELECT * FROM paises"; $paises = mysql_query($sql);
  28. 28. CRUD com PHP 18.27 Exercício com CRUD Iterar sobre os registos Para iterarmos sobre os registos, necessitamos de um ciclo e de converter o resultado do nosso query sql num array associativo. Devem substituir o código HMTL seguinte: <tr> <td></td> <td></td> <td></td> </tr>
  29. 29. CRUD com PHP 18.28 Exercício com CRUD Iterar sobre os registos Para iterarmos sobre os registos, necessitamos de um ciclo e de converter o resultado do nosso query sql num array associativo. Devem substituir o código HMTL seguinte: <tr> <td></td> <td></td> <td></td> </tr>
  30. 30. CRUD com PHP 18.29 Exercício com CRUD Pelo seguinte código: <?php while($registos = mysql_fetch_array($paises)) { echo "<tr>n"; echo "<td>n"; echo $registos["nome_pais"]; echo "</td>n"; echo "<td>n"; echo $registos["moeda_pais"]; echo "</td>n"; echo "<td>n"; echo $registos["populacao_pais"]; echo "</td>n";
  31. 31. CRUD com PHP 18.30 Exercício com CRUD echo "<td>n"; echo "<form name="editar" action="editarpais.php" method="GET">"; echo "<input type="hidden" name="idpais" value="" . $registos["id_pais"] .""/>"; echo "<input type="submit" value="Editar"/>"; echo "</form>"; echo "</td>n"; echo "<td>n"; echo "<form name="eliminar" action="eliminarpais.php" method="GET">"; echo "<input type="hidden" name="idpais" value="" . $registos["id_pais"] .""/>"; echo "<input type="submit" value="Eliminar"/>"; echo "</form>"; echo "</td>n"; echo "</tr>n"; } ?>
  32. 32. CRUD com PHP 18.31 Exercício com CRUD Colocamos um novo header para a tabela com o texto opções. Onde temos o código: <tr> <th>Nome País</th> <th>Moeda</th> <th>População</th> </tr> Incluímos a linha: <th colspan="2">Opções</th> Imediatamente acima da tag </tr>. Com esta última linha de código, implementámos um método que permitirá efectuar a edição e eliminação de registos.
  33. 33. CRUD com PHP 18.32 Exercício com CRUD Criar o script editarpais.php Este script vai permitir que o registo seleccionado seja editado. Na prática, o utilizador ao seleccionar o botão “Editar” na página listar.php, vai chamar este script com o parâmetro do registo a editar. No script editar.php, vamos recuperar o id do registo, preencher os campos com o seu valor e permitir que o utilizador faça a respectiva alteração. A nível de SQL, será implementado um update ao registo.
  34. 34. CRUD com PHP 18.33 Exercício com CRUD Código do script editarpais.php Neste passo vamos criar um novo ficheiro editarpais.php e inluir o seguinte código HTML: <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF- 8"> </head> <body> Editar os dados do País:<br /> <form name="editar" action="introduzireditar.php" method="POST"> <label for="nomepais">Nome País: </label> <input type="text" name="nomepais" value="" /> <br />
  35. 35. CRUD com PHP 18.34 Exercício com CRUD <label for="moedapais">Moeda: </label> <input type="text" name="moedapais" value="" /> <br /> <label for="populacaopais">População: </label> <input type="text" name="populacaopais" value="" /> <br /> <input type="submit" name =“actualizar” value="Actualizar" /> </form> <a href="listar.php">Voltar</a> </body> </html>
  36. 36. CRUD com PHP 18.35 Exercício com CRUD Código PHP para extrair o ID do registo a editar Criar um bloco de código PHP logo acima da primeira linha HTML. Colocar o seguinte código: //testa se a variável superglobal foi inicializada if (!isset( $_GET["idpais"])) { die("Id do país não fornecido."); } //atribui o valor do campo escondido do form à variável $idPais = $_GET["idpais"]; //grava o id do pais numa sessão session_start(); $_SESSION["idpais"] = $idPais;
  37. 37. CRUD com PHP 18.36 Exercício com CRUD O código anterior primeiro testa se a variável idpais, do array superglobal existe. Se não existir, termina o script com erro. Se existir, o seu valor será guardado na sessão para mais tarde ser usado.
  38. 38. CRUD com PHP 18.37 Exercício com CRUD Seguidamente, colocamos o código abaixo: //inclui o ficheiro com as configurações da base de dados require_once("includes/config.php"); //efectua a conexão com os dados do ficheiro config.php $conexao = mysql_connect($dbhost, $dbuser, $dbpassword); //testa se a conexão teve sucesso; se não teve dá erro e termina o script if (!$conexao) { die('Erro de conexão: ' . mysql_error()); }
  39. 39. CRUD com PHP 18.38 Exercício com CRUD mysql_select_db("aulasphp", $conexao); mysql_set_charset('utf8',$conexao); $sql = "SELECT * FROM paises WHERE id_pais = " . mysql_real_escape_string($idPais); $paises = mysql_query($sql); if (mysql_num_rows($paises) == 0) { die("Registo não encontrado" ); } $registo = mysql_fetch_assoc($paises); $nomePais = $registo ["nome_pais"]; $moedaPais = $registo ["moeda_pais"]; $populacaoPais = $registo ["populacao_pais"];
  40. 40. CRUD com PHP 18.39 Exercício com CRUD Parte do código anterior já é conhecido. O query SQL executado pesquisa na tabela de países o país com o ID pretendido e atribui o resultado do query a um array associativo para podermos usar os campos.
  41. 41. CRUD com PHP 18.40 Exercício com CRUD Alteraçao dos inputs do formulário. Com os dados do registo já atribuídos a um array, podemos afixá-los no form, através do campo “value” de cada input do form. Alterar os inputs de acordo com as instrucções abaixo: <input type="text" name="nomepais" value="<?php echo $nomePais; ?>" /> <input type="text" name="moedapais" value="<?php echo $moedaPais; ?>" /> <input type="text" name="populacaopais" value="<?php echo $populacaoPais; ?>" />
  42. 42. CRUD com PHP 18.41 Exercício com CRUD Actualizar o script introduzireditar.php Este script deve ser alterado para servir não só para introduzir informação, mas também para permitir a edição dos mesmos. As alterações a efectuar são as seguintes: Detectar se foi efectuado um POST Como vamos usar o mesmo script para inserir e editar registos, necessitamos de testar se foi efectuado um POST. Caso não tenha sido feito um POST, o form é apresentado, se pelo contrário, tivermos efectuado um POST, vamos detectar se devemos fazer um insert ou um update. inserir o código seguinte no início do script introduzireditar.php:
  43. 43. CRUD com PHP 18.42 Exercício com CRUD if ($_SERVER["REQUEST_METHOD"] == "POST") { //inclui o ficheiro com as configurações da base de dados require_once("includes/config.php"); //efectua a conexão com os dados do ficheiro config.php $conexao = mysql_connect($dbhost, $dbuser, $dbpassword); //testa se a conexão teve sucesso; se não teve dá erro e termina o script if (!$conexao) { die('Erro de conexão: ' . mysql_error()); } mysql_select_db("aulasphp", $conexao); mysql_set_charset('utf8',$conexao);
  44. 44. CRUD com PHP 18.43 Exercício com CRUD O código anterior testa se foi efectuado um POST, efectua o require das configurações da ligação à base de dados, e termina o script se a ligação não for efectuada, é feita também a selecção da base de dados e definido o charset da ligação.
  45. 45. CRUD com PHP 18.44 Exercício com CRUD Efectuar insert ou update? O próximo bloco de código vai permitir efectuar um insert ou update, dependendo de uma condição. Vejamos o código seguinte, que deve ser inserido logo após a última instrucção do código anterior.
  46. 46. CRUD com PHP 18.45 Exercício com CRUD if (array_key_exists("actualizar", $_POST)) { session_start(); $idPais = mysql_real_escape_string($_SESSION["idpais"]); $nomepais = mysql_real_escape_string($_POST["nomepais"]); $moedapais = mysql_real_escape_string($_POST["moedapais"]); $populacaopais = mysql_real_escape_string($_POST["populacaopais"]); $sql = "UPDATE paises SET nome_pais = '" . $nomepais . "', moeda_pais = " . $moedapais . " , populacao_pais = " . $populacaopais . " WHERE id_pais = " . $idPais; $update = mysql_query($sql); if (!$update) { echo $sql; echo 'Erro ao actualizar o registo: ' . mysql_error(); } }
  47. 47. CRUD com PHP 18.46 Exercício com CRUD else { $nomePais = mysql_real_escape_string($_POST["nomepais"]); $moedaPais = mysql_real_escape_string($_POST["moedapais"]); $populacaoPais = mysql_real_escape_string($_POST["populacaopais"]); $sql = "INSERT INTO paises (nome_pais, moeda_pais, populacao_pais)" . " VALUES ('" . $nomePais . "', '" . $moedaPais . "', " . $populacaoPais . ")"; $insert = mysql_query($sql); if (!$insert) { echo $sql; echo 'Erro ao inserir o registo: ' . mysql_error(); } }
  48. 48. CRUD com PHP 18.47 Exercício com CRUD Este código que introduzimos é responsável pelo seguinte: Testar de onde vem o POST Testa se no array superglobal $_POST existe uma chave com o nome “actualizar”. Isto é efectuado com a função array_key_exists(). Se existir esta chave, significa que o POST foi efectuado do form no script editarpais.php. O código HTML responsável por esta acção é seguinte: <input type="submit" name="actualizar" value="Actualizar" /> O POST contém a chave “actualizar” Se o POST contém a chave actualizar, devemos recuperar os dados submetidos pelo form do array $_POST, e recuperar também da sessão o ID do registo que desejamos alterar, que foi guardado préviamente no script editarpais.php.O código responsável por estas acções é o exposto abaixo: session_start(); $idPais = mysql_real_escape_string($_SESSION["idpais"]); $nomepais = mysql_real_escape_string($_POST["nomepais"]); $moedapais = mysql_real_escape_string($_POST["moedapais"]); $populacaopais = mysql_real_escape_string($_POST["populacaopais"]);
  49. 49. CRUD com PHP 18.48 Exercício com CRUD Construir o query SQL e efectuar o UPDATE No código abaixo, vamos construir o nosso query SQL e executá-lo: $sql = "UPDATE paises SET nome_pais = '" . $nomepais . "', moeda_pais = " . $moedapais . " , populacao_pais = " . $populacaopais . “ WHERE id_pais = " . $idPais; $update = mysql_query($sql); if (!$update) { echo 'Erro ao actualizar o registo: ' . mysql_error(); } } E assim conclui a parte do código para editar um registo. Seguidamente vamos verificar como podemos inserir um novo registo.
  50. 50. CRUD com PHP 18.49 Exercício com CRUD Inserir um novo registo A inserção de um novo registo será efectuada sempre como alternativa à condição. Resumidamente o que será efectuado será uma edição de um registo, caso no array $_POST exista a chave “actualizar”, se não existir, será efectuado uma inserção de um novo registo. if (array_key_exists("actualizar", $_POST)) { // Editar o registo } else { // inserir o registo }
  51. 51. CRUD com PHP 18.50 Exercício com CRUD Devemos introduzir o código abaixo no “else” da condição: $nomePais = mysql_real_escape_string($_POST["nomepais"]); $moedaPais = mysql_real_escape_string($_POST["moedapais"]); $populacaoPais = mysql_real_escape_string($_POST["populacaopais"]); $sql = "INSERT INTO paises (nome_pais, moeda_pais, populacao_pais)" . " VALUES ('" . $nomePais . "', '" . $moedaPais . "', " . $populacaoPais . ")"; $insert = mysql_query($sql); if (!$insert) { echo 'Erro ao inserir o registo: ' . mysql_error(); } } Este pedaço de código é semelhante ao anterior, sendo que a principal diferença situa-se no facto de ser efectuado um INSERT em vez de um UPDATE.
  52. 52. CRUD com PHP 18.51 Exercício com CRUD Devemos introduzir o código abaixo no “else” da condição: $nomePais = mysql_real_escape_string($_POST["nomepais"]); $moedaPais = mysql_real_escape_string($_POST["moedapais"]); $populacaoPais = mysql_real_escape_string($_POST["populacaopais"]); $sql = "INSERT INTO paises (nome_pais, moeda_pais, populacao_pais)" . " VALUES ('" . $nomePais . "', '" . $moedaPais . "', " . $populacaoPais . ")"; $insert = mysql_query($sql); if (!$insert) { echo 'Erro ao inserir o registo: ' . mysql_error(); } } Este pedaço de código é semelhante ao anterior, sendo que a principal diferença situa-se no facto de ser efectuado um INSERT em vez de um UPDATE.
  53. 53. CRUD com PHP 18.52 Exercício com CRUD O script eliminarpais.php Para completar o nosso exercício, falta implementar uma forma de eliminar registos. A implementação desta funcionalidade ficará a cargo dos formandos. Nota: a solução será fornecida com o material deste curso.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×