Este é um post disponível para assinantes MVPVideo: Mensagens do sistema - Curso PHP (Módulo II) - Parte 64
Nesta vídeo aula será mostrado como inserir os fornecedores utilizando o método insert da classe Fornecedor.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Tempo: 15:40 min
Mini Resumo: Nesta vídeo aula será mostrado como inserir os fornecedores utilizando o método insert da classe Fornecedor. Em primeiro momento é desenvolvido a interface gráfica da página em um arquivo TPL. Posteriormente é criada a lógica de programação, para capturar esses valores (dados do formulário) e salvar no banco de dados. No final é mostrado como mostrar uma mensagem, informando se houve sucesso ou não na inserção do registro. Este conceito apresentado equivale boa parte ao MVC, onde utilizando a Smarty Template, você possui o “V” de View, e os arquivos DAO seriam o “M” Model.
Tecnologias utilizadas: PHP, MySQL
Exemplos construídos: PDO, FornecedorVO, FornecedorDAO
Palavras chaves: PHP, PDO, Boas Práticas, Orientação a Objetos, OOP, POO, Smarty Template
Especialista há diversos anos em tecnologias de desenvolvimento como .net, PHP, Android, Delphi, MySQL, Java e front-end. Ministrou aulas e produziu diversos artigos, vídeos e cursos online sobre estas tecnologias.
3 COMENTÁRIOS
FornecedorDAO.php
<?php
class FornecedorDAO {
private $connection = null;
public function FornecedorDAO() {
$connectionFactory = new ConnectionFactory();
$this->connection = $connectionFactory->getConnection();
}
public function getAll() {
$sql="SELECT * FROM fornecedores ORDER BY nome ASC";
return $this->connection->query($sql);
}
public function getById($id) {
$sql="SELECT * FROM fornecedores WHERE id=?";
$query=$this->connection->query($sql);
$fornecedorVO = null;
if($query->execute(array($id))){
$result = $query->fetch();
$fornecedorVO = new FornecedorVO();
$fornecedorVO->setNome($result["nome"]);
$fornecedorVO->setCidade($result["endereco"]);
$fornecedorVO->setEndereco($result["cidade"]);
$fornecedorVO->setEstado($result["estado"]);
$fornecedorVO->setTelefone($result["telefone"]);
$fornecedorVO->setEmail($result["email"]);
}
return $fornecedorVO;
}
public function insert(FornecedorVO $value) {
$sql = "INSERT INTO fornecedores(nome, endereco, cidade, estado, telefone, email) VALUES (?,?,?,?,?,?)";
$query = $this->connection->prepare($sql);
$query->bindParam(1, $value->getNome(), PDO::PARAM_STR);
$query->bindParam(2, $value->getEndereco(), PDO::PARAM_STR);
$query->bindParam(3, $value->getCidade(), PDO::PARAM_STR);
$query->bindParam(4, $value->getEstado(), PDO::PARAM_STR);
$query->bindParam(5, $value->getTelefone(), PDO::PARAM_STR);
$query->bindParam(6, $value->getEmail(), PDO::PARAM_STR);
return $query->execute();
}
public function update(FornecedorVO $value) {
$sql = "UPDATE fornecedores SET nome=?, endereco=?, cidade=?, estado=?, telefone=?, email=? WHERE id=?";
$query = $this->connection->prepare($sql);
$query->bindParam(7, $value->getId(), PDO::PARAM_INT);
$query->bindParam(1, $value->getNome(), PDO::PARAM_STR);
$query->bindParam(2, $value->getEndereco(), PDO::PARAM_STR);
$query->bindParam(3, $value->getCidade(), PDO::PARAM_STR);
$query->bindParam(4, $value->getEstado(), PDO::PARAM_STR);
$query->bindParam(5, $value->getTelefone(), PDO::PARAM_STR);
$query->bindParam(6, $value->getEmail(), PDO::PARAM_STR);
return $query->execute();;
}
public function delete(FornecedorVO $value) {
$sql = "DELETE FROM fornecedores WHERE id=?";
$query = $this->connection->prepare($sql);
$query->bindParam(1, $value->getId(), PDO::PARAM_INT);
return $query->execute();
}
}
?>
editar.php
<?php
include ("../DAO/ConnectionFactory.php");
include ("../VO/FornecedorVO.php");
include ("../DAO/FornecedorDAO.php");
include ("../smarty/libs/Smarty.class.php");
$smarty = new Smarty();
$smarty->template_dir="../smarty/templates/fornecedores";
$smarty->compile_dir="../smarty/templates_c";
$smarty->cache_dir="../smarty/cache";
$smarty->config_dir="../smarty/configs";
$mensagem="";
if(isset($_POST["nome"])){
$id=$_POST["id"];
$nome=$_POST["nome"];
$endereco=$_POST["endereco"];
$cidade=$_POST["cidade"];
$estado=$_POST["estado"];
$telefone=$_POST["telefone"];
$email=$_POST["email"];
$dao = new FornecedorDAO();
$vo = new FornecedorVO();
$vo->setId($id);
$vo->setNome($nome);
$vo->setEndereco($endereco);
$vo->setCidade($cidade);
$vo->setEstado($estado);
$vo->setTelefone($telefone);
$vo->setEmail($email);
if($dao->update($vo)>0){
$mensagem="<strong>Fornecedor atualizado com sucesso.</strong>";
}else{
$mensagem="<strong>Erro ao atualizar fornecedor.</strong>";
}
}
$dao = new FornecedorDAO();
$value=$dao->getById($_GET["id"]);
$smarty->assign("nome", $value->getNome());
$smarty->assign("endereco", $value->getEndereco());
$smarty->assign("cidade", $value->getCidade());
$smarty->assign("estado", $value->getEstado());
$smarty->assign("telefone", $value->getTelefone());
$smarty->assign("email", $value->getEmail());
$smarty->assign("mensagem", $mensagem);
$smarty->display("editar.tpl");
?>
editar.tpl
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h2>Fornecedores</h2>
<form name="formInserir" method="POST" action="editar.php">
<table border="2px" >
<tr bgcolor="#c0c0c0">
<input type="hidden" name="id" value="{$smarty.get.id}">
<td>Nome:</td>
<td><input type="text" name="nome" value="{$nome}"></td>
</tr>
<tr>
<td>Endereco:</td>
<td><input type="text" name="endereco" value="{$endereco}"></td>
</tr>
<tr>
<td bgcolor="#c0c0c0">Cidade:</td>
<td><input type="text" name="cidade" value="{$cidade}"></td>
</tr>
<tr>
<td>Estado:</td>
<td><input type="text" name="estado" value="{$estado}"></td>
</tr>
<tr>
<td bgcolor="#c0c0c0">Telefone:</td>
<td><input type="text" name="telefone" value="{$telefone}"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input type="text" name="email" value="{$email}"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Atualizar"></td>
</tr>
</table>
</form>
{$mensagem}
</body>
</html>

download

