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

Classe Crud com PDO e MYSQLi - #9

16/05/2018

Fala pessoal, nessa vídeo-aula iremos realizar a edição dos dados utilizando nossa ClassCrud. Reaproveitaremos o código de recebimento das variáveis e do nosso formulário de cadastro.

Reutilizando formulário de cadastro

Reaproveitaremos nosso formulário de cadastro fazendo um if determinando variáveis que exibirão dados de acordo com a requisição do usuário (cadastro ou edição).

PDO

<?php
include("Class/ClassCrud.php");
    /* Edição de dados */
    if(isset($_GET['id'])){
        $Acao="Editar";

        $Crud=new ClassCrud();
        $BFetch=$Crud->selectDB("*","cadastro","where Id=?",array($_GET['id']));
        $Fetch=$BFetch->fetch(PDO::FETCH_ASSOC);
        $Id=$Fetch['Id'];
        $Nome=$Fetch['Nome'];
        $Sexo=$Fetch['Sexo'];
        $Cidade=$Fetch['Cidade'];
    }

    /* Cadastro novo */
    else{
        $Acao="Cadastrar";
        $Id=0;
        $Nome="";
        $Sexo="";
        $Cidade="";
    }
?>

<div class="Resultado"></div>

<div class="Formulario">
    <h1 class="Center">Cadastro</h1>

    <form name="FormCadastro" id="FormCadastro" method="post" action="Controllers/ControllerCadastro.php">
        <input type="hidden" id="Acao" name="Acao" value="<?php echo $Acao; ?>">
        <input type="hidden" id="Id" name="Id" value="<?php echo $Id; ?>">

        <div class="FormularioInput">
            Nome: <br>
            <input type="text" id="Nome" name="Nome" value="<?php echo $Nome; ?>">
        </div>

        <div class="FormularioInput">
            Sexo: <br>
            <select name="Sexo" id="Sexo">
                <option value="<?php echo $Sexo; ?>"><?php echo $Sexo; ?></option>
                <option value="Masculino">Masculino</option>
                <option value="Feminino">Feminino</option>
            </select>
        </div>

        <div class="FormularioInput">
            Cidade: <br>
            <input type="text" id="Cidade" name="Cidade" value="<?php echo $Cidade; ?>">
        </div>

        <div class="FormularioInput FormularioInput100 Center">
            <input type="submit" value="<?php echo $Acao; ?>">
        </div>
    </form>
</div>

MYSQLi

<?php
include("Class/ClassCrud.php");
    /* Edição de dados */
    if(isset($_GET['id'])){
        $Acao="Editar";

        $Crud=new ClassCrud();
        $BFetch=$Crud->selectDB("*","cadastro","where Id=?","i",array($_GET['id']));
        $Fetch=$BFetch->fetch_all();
        foreach($Fetch as $Fetchs){
            $Id=$Fetchs[0];
            $Nome=$Fetchs[1];
            $Sexo=$Fetchs[2];
            $Cidade=$Fetchs[3];
        }
    }

    /* Cadastro novo */
    else{
        $Acao="Cadastrar";
        $Id=0;
        $Nome="";
        $Sexo="";
        $Cidade="";
    }
?>

<div class="Resultado"></div>

<div class="Formulario">
    <h1 class="Center">Cadastro</h1>

    <form name="FormCadastro" id="FormCadastro" method="post" action="Controllers/ControllerCadastro.php">
        <input type="hidden" id="Acao" name="Acao" value="<?php echo $Acao; ?>">
        <input type="hidden" id="Id" name="Id" value="<?php echo $Id; ?>">

        <div class="FormularioInput">
            Nome: <br>
            <input type="text" id="Nome" name="Nome" value="<?php echo $Nome; ?>">
        </div>

        <div class="FormularioInput">
            Sexo: <br>
            <select name="Sexo" id="Sexo">
                <option value="<?php echo $Sexo; ?>"><?php echo $Sexo; ?></option>
                <option value="Masculino">Masculino</option>
                <option value="Feminino">Feminino</option>
            </select>
        </div>
        
        <div class="FormularioInput">
            Cidade: <br>
            <input type="text" id="Cidade" name="Cidade" value="<?php echo $Cidade; ?>">
        </div>
        
        <div class="FormularioInput FormularioInput100 Center">
            <input type="submit" value="<?php echo $Acao; ?>">
        </div>
    </form>
</div>

Reaproveitaremos nosso código de variáveis também, adicionando a variável Acao:

if(isset($_POST['Acao'])){ $Acao=filter_input(INPUT_POST,'Acao',FILTER_SANITIZE_SPECIAL_CHARS); }elseif(isset($_GET['Acao'])){ $Acao=filter_input(INPUT_GET,'Acao',FILTER_SANITIZE_SPECIAL_CHARS); }else{ $Acao=""; }
if(isset($_POST['Id'])){ $Id=filter_input(INPUT_POST,'Id',FILTER_SANITIZE_SPECIAL_CHARS); }elseif(isset($_GET['Id'])){ $Id=filter_input(INPUT_GET,'Id',FILTER_SANITIZE_SPECIAL_CHARS); }else{ $Id=0; }
if(isset($_POST['Nome'])){ $Nome=filter_input(INPUT_POST,'Nome',FILTER_SANITIZE_SPECIAL_CHARS); }elseif(isset($_GET['Nome'])){ $Nome=filter_input(INPUT_GET,'Nome',FILTER_SANITIZE_SPECIAL_CHARS); }else{ $Nome=""; }
if(isset($_POST['Sexo'])){ $Sexo=filter_input(INPUT_POST,'Sexo',FILTER_SANITIZE_SPECIAL_CHARS); }elseif(isset($_GET['Sexo'])){ $Sexo=filter_input(INPUT_GET,'Sexo',FILTER_SANITIZE_SPECIAL_CHARS); }else{ $Sexo=""; }
if(isset($_POST['Cidade'])){ $Cidade=filter_input(INPUT_POST,'Cidade',FILTER_SANITIZE_SPECIAL_CHARS); }elseif(isset($_GET['Cidade'])){ $Cidade=filter_input(INPUT_GET,'Cidade',FILTER_SANITIZE_SPECIAL_CHARS); }else{ $Cidade=""; }

Posteriormente alteraremos nossa classe crud implementando o método updateDB().

PDO

#Atualização no banco de dados
public function updateDB($Tabela , $Set , $Condicao , $Parametros)
{
    $this->preparedStatements("update {$Tabela} set {$Set} where {$Condicao}",$Parametros);
    return $this->Crud;
}

MYSQLi

#Método para atualizar DB
public function updateDB($Tabela , $Set , $Condicao , $Tipos , $Parametros)
{
    $this->preparedStatements("update {$Tabela} set {$Set} where {$Condicao}", $Tipos, $Parametros);
    return $this->Crud;
}

Por fim alteraremos nosso ControllerCadastro.php pegando a ação e enviando para o cadastro ou edição:

PDO

include("../Includes/Variaveis.php");
include("../Class/ClassCrud.php");

$Crud=new ClassCrud();

if($Acao=='Cadastrar'){
        $Crud->insertDB(
            "cadastro",
            "?,?,?,?",
            array(
                $Id,
                $Nome,
                $Sexo,
                $Cidade
            )
        );
        echo "Cadastro Realizado com Sucesso!";
}else{
        $Crud->updateDB(
            "cadastro",
            "Nome=?,Sexo=?,Cidade=?",
            "Id=?",
            array(
                $Nome,
                $Sexo,
                $Cidade,
                $Id
            )
        );
        echo "Cadastro Editado com Sucesso!";
}

MYSQLi

include("../Includes/Variaveis.php");
include("../Class/ClassCrud.php");

$Crud=new ClassCrud();

if($Acao=='Cadastrar'){
    $Crud->insertDB(
        "cadastro",
        "?,?,?,?",
        "isss",
        array(
            $Id,
            $Nome,
            $Sexo,
            $Cidade
        )
    );
    echo "Cadastro Realizado com Sucesso!";
}else{
    $Crud->updateDB(
        "cadastro",
        "Nome=?,Sexo=?,Cidade=?",
        "Id=?",
        "sssi",
        array(
            $Nome,
            $Sexo,
            $Cidade,
            $Id
        )
    );
    echo "Cadastro Editado com Sucesso!";
}
Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Classe Crud com PDO e MYSQLi - #8
No tutorial de hoje vamos continuar a serie CRUD no PDO e CRUD no MYSQLi criando o método de apagar dados no banco.
Saiba mais!
Classe Crud com PDO e MYSQLi - #10
Com essa vídeo-aula finalizamos essa série especial sobre CRUD utilizando PDO e MYSQLi. Hoje demonstraremos a eficiente reutilização do código usando a classe.
Saiba mais!
Crud
Nesse curso aprenderemos como desenvolver uma ClassCrud com conexão ao banco de dados mysql através dos conectores PDO e MYSQLi.
Saiba mais!