Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ricardoCaldas

Cadastro de Fornecedores

Recommended Posts

Buenas, Estou tendo problemas com o cadastro de fornecedores. Fiz igual ao cadastro de cliente mas quando cadastro um fornecedor nao retorna a classe listar nem cadastra o fornecedor no banco...

 

 

Classe Fornecedor Model

 

 

<?php


class FornecedorModel
{
    private $conexao;
    
    private $id;
    private $nome_fornecedor;
    private $nome_fantasia;
    private $cpf;
    private $cnpj;
    private $endereco;
    private $bairro;    
    private $cep;
    private $cidade;
    private $estado;
    private $telefone;
    private $celular;
    private $fax;
    private $email;
    private $site;
    private $data_cadastro;
    private $tipo;
    
    
    
    function getId() {
        return $this->id;
    }


    function setId($id) {
        $this->id = $id;
    }
    
    function getTipo() {
        return $this->tipo;
    }
    
    function getNome_Fornecedor() {
        return $this->nome_fornecedor;
    }


    function getNome_Fantasia() {
        return $this->nome_fantasia;
    }


    function getCpf() {
        return $this->cpf;
    }


    function getCnpj() {
        return $this->cnpj;
    }


    function getEndereco() {
        return $this->endereco;
    }


    function getBairro() {
        return $this->bairro;
    }


    function getCep() {
        return $this->cep;
    }


    function getCidade() {
        return $this->cidade;
    }


    function getEstado() {
        return $this->estado;
    }
    
    function getTelefone() {
        return $this->telefone;
    }
    
    function getCelular() {
        return $this->celular;
    }
    
    function getFax() {
        return $this->fax;
    }
    
    function getEmail() {
        return $this->email;
    }
    
    function getSite() {
        return $this->site;
    }
    
    function getData_Cadastro() {
        return $this->data_cadastro;
    }
    
    function setNome_Fornecedor($nome_fornecedor) {
        $this->nome_fornecedor = $nome_fornecedor;
    }


    function setNome_fantasia($nome_fantasia) {
        $this->nome_fornecedor = $nome_fantasia;
    }


    function setCpnj($cnpj) {
        $this->cnpj = $cnj;
    }


    function setCpf($cpf) {
        $this->cpf = $cpf;
    }


    function setEndereco($endereco) {
        $this->endereco = $endereco;
    }


    function setTelefone($telefone) {
        $this->telefone = $telefone;
    }


    function setCelular($celular) {
        $this->celular = $celular;
    }
    
    function setTipo($tipo) {
        $this->tipo = $tipo;
    }
    
    function setFax($Fax) {
        $this->fax = $fax;
    }


     function setEmail($email) {
        $this->email = $email;
    }


     function setSite($site) {
        $this->site = $site;
    }


     function setData_Cadastro($data_cadastro) {
        $this->data_cadsatro = $data_cadastro;
    }


    
    
    
    function __construct()
    {
        try
        {
            //Cria a conexão com o BD
            $this->conexao = new PDO("mysql:host=127.0.0.1; port=3306; dbname=pw2b2015","root","");
            $this->conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }
        catch(PDOException $e)
        {
            echo "Houve um erro ao conectar com o BD";
            echo "<br>";
            echo $e->getMessage();
        }
    }
    
    public function consultar()
    {
        try
        {
            //Código SQL responsável por realizar a consulta no banco de dados
            $sql = "SELECT * FROM fornecedor";
            
            //Prepara a instrução SQL
            $query = $this->conexao->prepare($sql);
            
            //Executa a Instrução SQL
            $query->execute();


            //Cria um array/Matriz com os dados selecionados no BD
            $arrayDados = $query->fetchAll(PDO::FETCH_ASSOC);
            return $arrayDados;
        }
        catch(PDOException $e)
        {
            echo "Houve um erro ao selecionar os fornecedores";
            echo "<br>";
            echo $e->getMessage();
            return false;
        }
    }
    
    public function gravar()
    {
        try
        {
            //Código SQL responsável por realizar o INSERT no banco de dados
            //Na cláusula VALUES, cria-se parâmetros cujos valores serão setados pelo bindValue
            
            
            
            $sqlInsert = "INSERT INTO fornecedor(tipo, nome_fornecedor, nome_fantasia, cpf, "
                    . "cnpj, endereco, bairro, cep, cidade, estado, telefone, celular, email, fax, site, data_cadastro) "
                    . "VALUES(:tipo, :nome_fornecedor, :nome_fantasia, :cpf, :cnpj, :endereco, :bairro, :cep,"
                    . ":cidade, :estado, :telefone, :celular, :email :fax, :site, :data_cadastro,)";
            
            $sqlUpdate = "UPDATE fornecedor SET nome_fornecedor = :nome_fornecedor, nome_fantasia = :nome_fantasia, cpf = :cpf, "
                    . " cnpj = :cnpj, edenreco = :endereco, bairro = :bairro, cep = :cep, cidade = :cidade, estado = :estado, telefone = :telefone, celular = :celular, email = :email, fax = :fax, site = :site ,data_cadastro = :data_cadastro, "
                    . "WHERE id_fornecedor = :id";
            
            
            //Prepara a instrução SQL
            if($this->id > 0)
            {
                $query = $this->conexao->prepare($sqlUpdate);
                $query->bindValue(":id", $this->id);
            }
            else 
            {
                $query = $this->conexao->prepare($sqlInsert);
            }
            
            //Passa os valores para os Parâmetros
            $query->bindValue(":tipo", $this->tipo);
            $query->bindValue(":nome_fornecedor", $this->nome_fornecedor);
            $query->bindValue(":nome_fantasia", $this->nome_fantasia);
            $query->bindValue(":cpf", $this->cpf);
            $query->bindValue(":cnpj", $this->cnpj);
            $query->bindValue(":endereco", $this->endereco);
            $query->bindValue(":bairro", $this->bairro);
            $query->bindValue(":cep", $this->cep);
            $query->bindValue(":cidade", $this->cidade);
            $query->bindValue(":estado", $this->estado);
            $query->bindValue(":telefone", $this->telefone);
            $query->bindValue(":celular", $this->celular);
            $query->bindValue(":email", $this->email);            
            $query->bindValue(":fax", $this->fax);
            $query->bindValue(":site", $this->site);
            $query->bindValue(":data_cadastro", $this->data_cadastro);
            //Executa a Instrução SQL
            $query->execute();
            
            return true;
        }
        catch(PDOException $e)
        {
            echo "Houve um erro ao gravar o registro";
            echo "<br>";
            echo $e->getMessage();
            return false;
        }
    }
    
    public function deletar($id)
    {
        try
        {
           $sql = "DELETE FROM fornecedor WHERE id_fornecedor = :id";
           $query = $this->conexao->prepare($sql);
           $query->bindValue(":id", $id);
           $query->execute();
           return true;
        } 
        catch (PDOException $e) 
        {
            echo "Erro ao deletar o registro";
            echo "<br>";
            echo $e->getMessage();
            return false;
        }
    }
    
    public function selecionar($id)
    {
        try
        {
            //Código SQL responsável por realizar a consulta no banco de dados
            $sql = "SELECT * FROM fornecedor WHERE id_fornecedor = :id";
            
            //Prepara a instrução SQL
            $query = $this->conexao->prepare($sql);
            
            //Passa parâmetro :id
            $query->bindValue(":id", $id);
            
            //Executa a Instrução SQL
            $query->execute();


            //Cria um array com o registro selecionado no BD
            $registro = $query->fetch(PDO::FETCH_ASSOC);
            
            $this->id = $registro["id_fornecedor"];
            $this->tipo = $registro["tipo"];
            $this->nome = $registro["nome_fornecedor"];
            $this->nome_fantasia = $registro["nome_fantasia"];
            $this->cpf = $registro["cpf"];
            $this->cnpj = $registro["cnpj"];
            $this->endereco = $registro["endereco"];
            $this->bairro = $registro["bairro"];
            $this->cidade = $registro["cidade"];
            $this->estado = $registro["estado"];
            $this->cep = $registro["cep"];
            $this->data_cadastro = $registro["data_cadastro"];
            $this->fax = $registro["fax"];
            $this->telefone = $registro["telefone"];
            $this->celular = $registro["celular"];
            $this->email = $registro["email"];
            $this->site = $registro["site"];
            
            return true;
        }
        catch(PDOException $e)
        {
            echo "Houve um erro ao selecionar o fornecedor";
            echo "<br>";
            echo $e->getMessage();
            return false;
        }
    }
}

 

Classe Fornecedor Class

 

 

 

<?php


class Fornecedor
{
    
    public function listar()
    {
        //Carrega o conteúdo do arquivo clientes.html
        $htmlFornecedor = file_get_contents("view/html/fornecedor.html");
                
        $registros = "";
        $nrRegistros = "0";
        
        //Instancia a classe ClienteModel e executa o método consultar()
        $fornecedorModel = new FornecedorModel();
        $arrayDados = $fornecedorModel->consultar();
        
        //Verifica se o método consultar() retornou um Array
        if(is_array($arrayDados))
        {
            //Percorre todos os elementos do Array/Matriz
            foreach($arrayDados as $registro)
            {
                $registros .= "<tr>";
                $registros .= "<td>" . $registro["id_fornecedor"] . "</td>";
                $registros .= "<td>" . $registro["tipo"] . "</td>";
                $registros .= "<td>" . $registro["nome_fornecedor"] . "</td>";
                $registros .= "<td>" . $registro["nome_fantasia"] . "</td>";
                $registros .= "<td>" . $registro["cpf"] . "</td>";
                $registros .= "<td>" . $registro["cnpj"] . "</td>";
                $registros .= "<td>" . $registro["endereco"] . "</td>";
                $registros .= "<td>" . $registro["bairro"] . "</td>";
                $registros .= "<td>" . $registro["cep"] . "</td>";
                $registros .= "<td>" . $registro["cidade"] . "</td>";
                $registros .= "<td>" . $registro["estado"] . "</td>";
                $registros .= "<td>" . $registro["telefone"] . "</td>";
                $registros .= "<td>" . $registro["celular"] . "</td>";
                $registros .= "<td>" . $registro["fax"] . "</td>";
                $registros .= "<td>" . $registro["email"] . "</td>";
                $registros .= "<td>" . $registro["site"] . "</td>";
                $registros .= "<td>" . $registro["data_cadastro"] . "</td>";
                $registros .= "<td>";
                $registros .= '<a class="btn btn-danger btn-xs" href="index.php?modulo=Fornecedor&acao=excluir&chave='.$registro["id_fornecedor"].'"><span class="glyphicon glyphicon-remove"></span></a> ';
                $registros .= '<a class="btn btn-info btn-xs" href="index.php?modulo=Fornecedor&acao=editar&chave='.$registro["id_fornecedor"].'"><span class="glyphicon glyphicon-pencil"></span></a>';
                $registros .= "</td>";
                $registros .= "</tr>";
                
                $nrRegistros++;
            }
        }
        
        //Substitui o 'marcador' #REGISTROS# do arquivo clientes.html pelo conteúdo da variável $registros
        $html = str_replace("#REGISTROS#", $registros, $htmlFornecedor);
        
        $html = str_replace("#NRREGISTROS#", $nrRegistros, $html);
        return $html;
    }
    
    private function form()
    {
        //Carrega o arquivo cliente-form.html
        $htmlFormulario = file_get_contents("view/html/fornecedor-form.html");
        
        //Instancia a classe ClienteModel
        $fornecedorModel = new FornecedorModel();
        
        //Verifica se foi passado na URL o parâmetro chave que irá conter o ID do cliente
        if(isset($_GET["chave"]))
        {
            //Se o parâmetro chave foi passado na URL então chama o método selecionar() da classe ClienteModel,
            //passando o ID do usuário como parâmetro
            $fornecedorModel->selecionar($_GET["chave"]);
        }
        
        //Substitui os marcadores do atributo VALUE no arquivo cliente-form.html
        $htmlFormulario = str_replace("#ID#", $fornecedorModel->getId(), $htmlFormulario);
        $htmlFormulario = str_replace("#TIPO#", $fornecedorModel->getTipo(), $htmlFormulario);
        $htmlFormulario = str_replace("#NOME_FORNECEDOR#", $fornecedorModel->getNome_Fornecedor(), $htmlFormulario);
        $htmlFormulario = str_replace("#NOME_FANTASIA#", $fornecedorModel->getNome_Fantasia(), $htmlFormulario);
        $htmlFormulario = str_replace("#CPF#", $fornecedorModel->getCpf(), $htmlFormulario);
        $htmlFormulario = str_replace("#CNPJ#", $fornecedorModel->getCnpj(), $htmlFormulario);
        $htmlFormulario = str_replace("#ENDERECO#", $fornecedorModel->getEndereco(), $htmlFormulario);
        $htmlFormulario = str_replace("#BAIRRO#", $fornecedorModel->getBairro(), $htmlFormulario);
        $htmlFormulario = str_replace("#CEP#", $fornecedorModel->getCep(), $htmlFormulario);
        $htmlFormulario = str_replace("#CIDADE#", $fornecedorModel->getCidade(), $htmlFormulario);
        $htmlFormulario = str_replace("#ESTADO#", $fornecedorModel->getEstado(), $htmlFormulario);
        $htmlFormulario = str_replace("#TELEFONE#", $fornecedorModel->getTelefone(), $htmlFormulario);
        $htmlFormulario = str_replace("#CELULAR#", $fornecedorModel->getCelular(), $htmlFormulario);
        $htmlFormulario = str_replace("#FAX#", $fornecedorModel->getFax(), $htmlFormulario);
        $htmlFormulario = str_replace("#EMAIL#", $fornecedorModel->getEmail(), $htmlFormulario);
        $htmlFormulario = str_replace("#SITE#", $fornecedorModel->getSite(), $htmlFormulario);
        $htmlFormulario = str_replace("#DATA_CADASTRO#", $fornecedorModel->getData_Cadastro(), $htmlFormulario);
        
        return $htmlFormulario;
    }
    
    public function novo()
    {
        return $this->form();
    }
    
    public function editar()
    {
       return $this->form();
    }
    
    public function salvar()
    {
        //verifica se houve o POST
        if(isset($_POST["nome_fornecedor"]))
        {
            //Instancia a classe FornecedorModel e passa os dados vindos do formulário
            $fornecedorModel = new FornecedorModel();
            $fornecedorModel->setId($_POST["id"]);
            $fornecedorModel->setTipo($_POST["tipo"]);
            $fornecedorModel->setNome_Fantasia($_POST["nome_fantasia"]);
            $fornecedorModel->setNome_Fornecedor($_POST["nome_fornecedor"]);
            $fornecedorModel->setCpf($_POST["cpf"]);
            $fornecedorModel->setCnpj($_POST["cnpj"]);
            $fornecedorModel->setEndereco($_POST["endereco"]);
            $fornecedorModel->setBairro($_POST["bairro"]);
            $fornecedorModel->setCep($_POST["cep"]);
            $fornecedorModel->setCidade($_POST["cidade"]);
            $fornecedorModel->setEstado($_POST["estado"]);
            $fornecedorModel->setTelefone($_POST["telefone"]);
            $fornecedorModel->setCelular($_POST["celular"]);
            $fornecedorModel->setFax($_POST["fax"]);
            $fornecedorModel->setEmail($_POST["Email"]);
            $fornecedorModel->setSite($_POST["site"]);
            $fornecedorModel->setData_Cadastro($_POST["Data_Cadastro"]);
            
            //Chama o método gravar() da classe FornecedorModel
            $fornecedorModel->gravar();
            
            //Exibe a lista de Fornecedores Cadastrados
            return $this->listar();
        }
    }
    
    public function excluir()
    {
        if(isset($_GET["chave"]))
        {
            $fornecedorModel = new FornecedorModel();
            $fornecedorModel->deletar($_GET["chave"]);
            return $this->listar();
        }
    }
}


Alguem consegue encontrar o erro de pq nao cadastrar no banco. Posso fazer upload do projeto inteiro se ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.