slide 07 editando produto selecionando e excluindo produto
TRANSCRIPT
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Editando ProdutoExcluindo Produto
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Editando e Excluindo Produtos
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Hoje nós iremos criar uma função para editar e excluir os produtos para os clientes no Mercado Online, e hoje nós faremos as seguintes configurações:
• Criaremos uma View de formulário para editar;• Criaremos a função de que carrega o editar;• Criaremos a função que atualizara os dados dos produtos;• Criaremos a função que excluirá o produto;• Exercício.
Editando ProdutoExcluindo Produto
Criado por: Raniere de Lima
Inicialmente, se queremos carregar os dados em um formulário, precisamos criar o formulário, só que o formulário que iremos utilizar é o mesmo formulário do cadastro de um produto. Então, podemos utilizar o código do formulário de cadastro, para a edição. Criaremos então outra view com o nome Editar, que possuirá o mesmo código do formulário de cadastro.
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Só que, precisamos carregar também os dados do produto. Só que nós já fizemos isso na Função buscar, então iremos copiar a mesma função agora no editar.
Agora, nós temos o formulário e os dados do produto, só que como nós iremos fazer paraExibir esses dados? Na view Editar, para cada formulário adicione no array, o atributo value, e faça esse value Receber o seu respectivo valor, ou seja, no campo de nome o value deve ser $produtos{“nome”}.
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Agora que fizemos as modificações necessárias, criaremos a função que irá atualizar os valores dos dados. A função deverá receber um array dos dados dos produtos, e depois enviar estas informações para uma função do model, que irá atualizar esses dados. Depois de atualizar, irá informar uma mensagem para o cliente, de que seu produto foi atualizado, e depois irá redirecionar para a pagina inicial.
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Nosso código como deve ficar:
public function atualizar(){ $produto = array( "id" => $this->input->post("id"), "nome" => $this->input->post("nome"), "preco" => $this->input->post("preco"), "descricao" => $this->input->post("descricao") ); $this->load->model("produtos_model"); $this->produtos_model->editar($produto); $this->session->set_flashdata("success","Produto Atualizado com sucesso."); redirect("/"); }
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Agora iremos criar a função editar no model de produtos. Para editar, precisamos saber:• Aonde iremos editar;• O que iremos editar;• E os novos dados para editar;
Para falar aonde iremos ? Na tabela de produtos. O que iremos editar? Os dados da tabela. E os novos dados? Informaremos no parâmetro.
Então, para falar olha CodeIgniter, edita na tabela produtos, é utilizado a função update doBanco de dados, porém para editar precisamos de um dado único e que nunca será alterado.Um dado que se encaixa desses requisitos é o id, então utilizaremos o id como “ancora”, paraSabermos qual produto devemos editar.
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Nosso código como deve ficar:
public function editar($produto){ $id = $produto["id"]; $this->db->where("id", $id); $this->db->update('produtos', $produto); }
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
“Beleza”, fazendo isso nós já temos um método que irá atualizar as informações.
Realize alguns testes na sua aplicação.
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Agora, nós temos o atualizar, porém seria legal ter o excluir produto também. Para fazermosisso, podemos utilizar um anchor, que irá carregar a função deletar, que irá excluir o nossoproduto.
Então, o que a função deletar deve possuir?
- A função deletar tem que saber, qual produto ela deve deletar e aonde está aquele produto.
Ou seja, para deletar precisamos de um dado único do produto, já vimos que o ID se encaixanesse padrão, então usaremos o id novamente, e para deletar, é utilizado a função delete,Que recebe como parâmetro a tabela aonde o produto se encontra.
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Nosso código como deve ficar:
public function deletar($id){ $this->db->where("id",$id); $this->db->delete("produtos"); }
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Exercício
Criado por: Raniere de Lima
Editando ProdutoExcluindo Produto
Faça com que apenas usuários logados no sistema, possam editar e excluir os produtos.