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 Completo - #19 Model V (Atualizar)

27/04/2018

Hoje vamos finalizar a parte de Model com a atualização de dados no banco de dados do nosso sistema MVC.

Update de dados no MVC

No nosso ControllerCadastro vamos criar 2 métodos, o método puxaDB() que vai trazer os dados do banco de dados e colocá-los nos inputs e o método atualiza() que de posse dos novos dados vai fazer a atualização no DB.

#Puxando dados do DB
public function puxaDB($Id)
{
    $this->recVariaveis();
    $B=$this->selecionaClientes($this->Nome, $this->Sexo,$this->Cidade);

    foreach($B as $C){
        if($C['Id'] == $Id){
            $Nome=$C['Nome'];
            $Sexo=$C['Sexo'];
            $Cidade=$C['Cidade'];
        }
    }
    echo "
    <form name='FormAtualizar' id='FormAtualizar' action='".DIRPAGE."cadastro/atualizar' method='post'>
        <input type='hidden' name='Id' id='Id' value='$Id'><br>
        Nome: <input type='text' name='Nome' id='Nome' value='$Nome'><br>
        Sexo:
        <select name='Sexo' id='Sexo'>
            <option value='$Sexo'>$Sexo</option>
            <option value='Masculino'>Masculino</option>
            <option value='Feminino'>Feminino</option>
        </select><br>
        Cidade: <input type='text' name='Cidade' id='Cidade' value='$Cidade'><br>
        <input type='submit' value='Atualizar'>
    </form>

    ";
}

#Atualizar dados dos clientes
public function atualizar()
{
    $this->recVariaveis();
    $this->atualizarClientes($this->Id, $this->Nome,$this->Sexo,$this->Cidade);
    echo "Usuário Atualizado com Sucesso!";
}

No nosso model: ClassCadastro vamos criar o método atualizarClientes() e vamos fazer uma query update no nosso banco onde a id clicada pelo usuário terá seus dados atualizados.

#Atualização direto no DB
protected function atualizarClientes($Id, $Nome , $Sexo , $Cidade){
    $BFetch=$this->Db=$this->conexaoDB()->prepare("update teste set Nome=:nome, Sexo=:sexo, Cidade=:cidade where Id=:id");
    $BFetch->bindParam(":id",$Id,\PDO::PARAM_INT);
    $BFetch->bindParam(":nome",$Nome,\PDO::PARAM_STR);
    $BFetch->bindParam(":sexo",$Sexo,\PDO::PARAM_STR);
    $BFetch->bindParam(":cidade",$Cidade,\PDO::PARAM_STR);
    $BFetch->execute();
}

Na nossa view, arquivo Main.php vamos inserir uma div ResultadoFormulario que vai receber os campos com os dados do cliente para atualização:

<hr>
<br><br>
<h1>Formulário de Atualizações</h1>
<div class="ResultadoFormulario" style="width: 100%; height: 300px; background: green;"></div>

Por fim, vamos chamar nosso ajax pra fazer a seleção de dados:

$(document).on('click','.ImageEdit',function(){
    var ImgRel=$(this).attr('rel');
    
    $.ajax({
       url: DIRPAGE+'cadastro/puxaDB/'+ImgRel,
        method: 'post',
        dataType: 'html',
        data: {'Id':ImgRel},
        success:function(data){
            $('.ResultadoFormulario').html(data);
        }
    });
});
Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

MVC Completo - #18 Model IV (Deletar)
Hoje vamos implementar a parte de deletar dados do nosso model. Vamos aproveitar a oportunidade para usar o Ajax com PHP e JQuery também.
Saiba mais!
MVC Completo - #20 Exemplo Completo
Hoje vamos fazer um exemplo completo do sistema MVC, utilizando o model, view e controller. Para isso, faremos um login simples.
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!