Pronatec – Aula de 15/04/2016 – Alterando e Excluindo dados com PHP e MySQL

Prezados alunos, boa noite. Em continuação à aula de ontem, em que foram incluídos e exibidos os nomes numa lista (utilizando-se para isto dos comandos SQL INSERT e SELECT), vamos agora fazer operações de alteração e exclusão de dados persistidos num banco.

Arquivo incluiNome.php

<?php
$conexao = mysql_connect("localhost", "alunos", "alunos")
or die ('Não conseguiu conectar ao banco de dados!');
$base = mysql_select_db("sistema", $conexao)
or die
("Não existe a base de dados solicitada");
setlocale(LC_ALL, 'pt_BR');
$query = "INSERT INTO tarefa (id, nome) values ('','".$_POST['nome']."')";
$resultado = mysql_query($query, $conexao)
or die ("Inclusão não realizada");
header('Location:tarefa.php');
?>

Arquivo tarefa.php

<html>
<head>
<title>Inclusão e Lista de nomes</title>
</head>
<body>
<h3>Tarefa PHP e MySQL de Quinta-Feira</h3>
<form action="incluiNome.php" method="post" name='form'>
<p>Nome: <input type="text" name="nome"
maxlength="100" size="30">
<p><button type="submit">Enviar</button></p>
</form>
<!-- Para facilitar o preencimento do formulário, ele é carregado com foco. -->
<script language='JavaScript' type='text/javascript'>
document.form.nome.focus()
</script>
<!--Exibo aqui os nomes em PHP-->
<?php
$conexao = mysqli_connect("localhost", "root", "")
or die ('Não conseguiu conectar ao banco de dados!');
$base = mysqli_select_db( $conexao,"sistema")
or die
("Não existe a base de dados solicitada");
setlocale(LC_ALL, 'pt_BR');
$query = "SELECT id,nome FROM `tarefa`";
$resultado = mysqli_query( $conexao, $query)
or die ("Seleção não realizada");
if(mysqli_num_rows($resultado)==0){
echo "Não há nome cadastrado!";
}else{
while($row = mysqli_fetch_array($resultado, MYSQLI_ASSOC)){
echo "<form action='alteraUsuario.php' method='post'>
<input type='text' name='nome' value='".$row['nome']."'
maxlength='100'>
<input type='hidden' value='".$row['id']."' name='id'>
<button type='submit' name='alterar'>Alterar</button>
<button type='submit' name='excluir'>Excluir</button></form>";
}
}
?>
</body></html>

O outro arquio é o que trata do processamento destas informações, que é chamado de alteraUsuario.php.

<?php
//Codigo para colocar vários tipos de submit num único form
//Extraído de:https://nandovieira.com.br/multiplos-botoes-submit-em-um-formulario
function get_post_action($name)
{
$params = func_get_args();
foreach ($params as $name) {
if (isset($_POST[$name])) {
return $name;
}
}
}
$id = $_POST['id'];
$nome = $_POST['nome'];
$conexao = mysql_connect("localhost", "root", "")
or die ('Não conseguiu conectar ao banco de dados!');
$base = mysqli_select_db($conexao, "sistema")
or die
("Não existe a base de dados solicitada");
setlocale(LC_ALL, 'pt_BR');
switch (get_post_action('excluir', 'alterar')) {
case 'excluir':
//exclui o usuario
$query = "DELETE FROM tarefa where id='".$id."'";
break;
case 'alterar':
//Altera o usuário conforme informado no campo
$query = "UPDATE tarefa set nome='".$nome."' where id='".$id."'";
break;
default:
header('Location:tarefa.php');
}
//Executa a query selecionada (ALteração ou exclusão)
$resultado = mysqli_query( $conexao, $query)
or die ("Operação não realizada");
header('Location:tarefa.php');
?>

Tarefas: leia o código e compreenda como é o seu funcionamento. Comente a parte que trata de múltiplos botões de submit dentro de um mesmo form. Realize operações com o banco de dados. Insira pelo menos 10 nomes, altere alguns, apague pelo menos 5, e insira mais 10 nomes. Observe o comportamento dos dados no banco, especialmente quanto ao campo id.

Exporte o banco de dados criado e encaminhe por e-mail ao professor. No e-mail, explique o que você compreendeu do comportamento do campo id.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *