DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 
DevWare  
Novidade: DevMedia lança o DevWare - Saiba mais!


  Este é um post disponível para assinantes MVP
Você também pode acessá-lo através de Créditos DevMedia.  Clique aqui para saber mais!

Video: 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.

[fechar]

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

Este post faz parte do Curso Programação e boas práticas com PHP

Rafael Silva
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.
O que você achou deste post?

    3 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Anderson Kerlly Rodrigues De Sousa
Quando tento editar fornecedor apresenta a seguinte mensagem: Fatal error: Call to a member function execute() on a non-object in C:\wamp\www\PHP_DAO\DAO\FornecedorDAO.php on line 21. Veja os códigos:

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>
[há +1 mês] - Responder

 

Wesley Yamazack
Olá Anderson, entramos em contato com o autor para que ele possa te auxiliar, tudo bem ? Peço que aguarde um pouco até que o mesmo possa retornar o contato.
[há +1 mês] - Responder
 

[autor] Rafael Silva
Olá Anderson,

Pode postar sua classe de conexão?
[há +1 mês] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
[Fechar] Você precisa estar logado para dar seu feedback.

Clique aqui para efetuar o login

Caso não tenha um cadastro DevMedia, clique aqui para se cadastrar (gratuito)
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03