Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

MVC, MVT e Template Engine - #8 Update e Delete

19/06/2020

Nesse tutorial aprenderemos como realizar a parte de update / delete utilizando MVC e template engine blade.

Update e Delete com MVC

views/produto.blade.php

Primeiramente, vamos adicionar o link de edição na nossa view produtos:

<td>
    <a href="@php echo DIRPAGE.'produto/'.$produtos->id; @endphp">Ler</a> |
    <a href="@php echo DIRPAGE.'produto_edit/'.$produtos->id; @endphp">Editar</a> |
    <a href="@php echo DIRPAGE.'produto_delete/'.$produtos->id; @endphp">Deletar</a> |
</td>

routes/web.php

Vamos adicionar as novas rotas:

<?php
$routes=new \Controllers\RoutesController();
$routes->getRoute('','HomeController@index');
$routes->getRoute('produto','ProdutoController@index');
$routes->getRoute('produto_create','ProdutoController@create');
$routes->getRoute('produto_edit','ProdutoController@edit');
$routes->getRoute('produto_delete','ProdutoController@delete');
$routes->getRoute('contato','ContatoController@showContacts');

controllers/ProdutoController.php

Criaremos os métodos responsáveis por editar e deletar nossos registros:

#Página de edição
public function edit($url=null,$id=null)
{
    if(count($_POST)>0){
        $name=filter_input(INPUT_POST,'name',FILTER_DEFAULT);
        $price=filter_input(INPUT_POST,'price',FILTER_DEFAULT);
        if($this->update($id,$name,$price)){
            $success='Dados atualizados com sucesso!';
            return $this->blade->render('produto_create',compact('success'));
        }
    }else{
        $data=$this->find($id)[0];
        return $this->blade->render('produto_create',compact('data'));
    }
}

#Página de deletar
public function delete($url=null,$id=null)
{
   if($this->destroy($id))
   {
       echo "<script>alert('Dado deletado com sucesso!');</script>";
       header("location: ".DIRPAGE."produto");
   }
}

models/ProdutoModel.php

Iremos realizar as operações no banco:

#Update no banco
public function update($id,$name,$price)
{
    $query=$this->conectDB()->prepare("update produtos set name=?,price=? where id=?");
    $query->bindParam(1,$name,\PDO::PARAM_STR);
    $query->bindParam(2,$price,\PDO::PARAM_STR);
    $query->bindParam(3,$id,\PDO::PARAM_INT);
    return $query->execute();
}

#Deletar no banco
public function destroy($id)
{
    $query=$this->conectDB()->prepare("delete from produtos where id=?");
    $query->bindParam(1,$id,\PDO::PARAM_INT);
    return $query->execute();
}

Por hoje é só! Sucesso nos códigos e na vida!

Necessita de ajuda? Suporte Premium: webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

MVC, MVT e Template Engine - #7 Create e Read
No tutorial de hoje iremos implementar no nosso sistema MVC um sistema de inserção de dados e de leitura desses dados no MySQL.
Saiba mais!
MVC, MVT e Template Engine - #9 Deploy
Nessa aula aprenderemos como realizar o deploy do nosso MVC utilizando PHP e MySql.
Saiba mais!
MVC Completo
Neste curso aprenderemos como criar o padrão de projeto MVC completo, analisando desde sua estrutura até a programação.
Saiba mais!