O documento descreve como criar funções para editar e excluir produtos de um mercado online, incluindo: 1) Criar um formulário de edição; 2) Carregar dados do produto para edição; 3) Atualizar dados do produto após edição; 4) Excluir produto; 5) Permitir que apenas usuários logados possam editar e excluir produtos.
3. Editando Produto
Excluindo Produto
Criado por: Raniere de Lima
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.
4. Editando Produto
Excluindo 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.
5. Editando Produto
Excluindo Produto
Criado por: Raniere de Lima
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 para
Exibir 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”}.
6. Editando Produto
Excluindo Produto
Criado por: Raniere de Lima
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.
7. Editando Produto
Excluindo Produto
Criado por: Raniere de Lima
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("/");
}
8. Editando Produto
Excluindo Produto
Criado por: Raniere de Lima
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 do
Banco 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”, para
Sabermos qual produto devemos editar.
9. Editando Produto
Excluindo Produto
Criado por: Raniere de Lima
Nosso código como deve ficar:
public function editar($produto){
$id = $produto["id"];
$this->db->where("id", $id);
$this->db->update('produtos', $produto);
}
10. Editando Produto
Excluindo Produto
Criado por: Raniere de Lima
“Beleza”, fazendo isso nós já temos um método que irá
atualizar as informações.
Realize alguns testes na sua aplicação.
11. Editando Produto
Excluindo Produto
Criado por: Raniere de Lima
Agora, nós temos o atualizar, porém seria legal ter o excluir produto também. Para fazermos
isso, podemos utilizar um anchor, que irá carregar a função deletar, que irá excluir o nosso
produto.
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 encaixa
nesse 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.
12. Editando Produto
Excluindo Produto
Criado por: Raniere de Lima
Nosso código como deve ficar:
public function deletar($id){
$this->db->where("id",$id);
$this->db->delete("produtos");
}