Tratar select retornando um objeto numa classe OOP PHP

HTML

SQL

MySQL

PHP

Banco de Dados

05/09/2017

Boa tarde,

Estou desenvolvendo um sistema de cadastro e consulta de clientes.. consigo incluí-los e fazer o select para consulta, porém não consigo tratar o objeto retornado, alguem poderia me ajudar?
vou colocar abaixo o código fonte da classe / métodos / retorno

Classe:

<?php

class cadastro_corretor
{
    public $emp;
    public $cnpj;
    public $end_emp;
    public $nr_emp;
    public $compl_emp;
    public $bairro_emp;
    public $cep_emp;
    public $cid_emp;
    public $UF;
    public $ddd1;
    public $ddd2;
    public $ddd3;
    public $fone1;
    public $fone2;
    public $fone3;
    public $ctt1;
    public $ctt2;
    public $email1;
    public $email2;
    public $dt_nasc1;
    public $dt_nasc2;
    public $status;
    public $usr;

    /**
     * @return mixed
     */
    public function getEmp()
    {
        return $this->emp;
    }

    /**
     * @param mixed $emp
     */
    public function setEmp()
    {
        $this->emp =$_POST['emp'];
        return $this;
    }

#Não vou postar o resto pq são umas 80 linhas a mais e nao vale a pena, o resto é igual


Abaixo os métodos:

<?php

class ServiceDB_corretor
{
    private $db1;
    private $cadastro_corretor;

    public function __construct(\\PDO $db1, cadastro_corretor $cadastro_corretor)
    {
        $this->db1 = $db1;
        $this->cadastro_corretor = $cadastro_corretor;

    }

    public function inserir()
    {
        $query = "insert into cd_clientes(emp, cnpj, end_emp, nr_emp, compl_emp, bairro_emp, cep_emp, cid_emp, UF, ddd1, ddd2, ddd3, fone1, fone2, fone3, ctt1, ctt2, email1, email2, dt_nasc1, dt_nasc2, status, usr)
        values(:emp, :cnpj, :end_emp, :nr_emp, :compl_emp, :bairro_emp, :cep_emp, :cid_emp, :UF, :ddd1, :ddd2, :ddd3, :fone1, :fone2, :fone3, :ctt1, :ctt2, :email1, :email2, :dt_nasc1, :dt_nasc2, :status,:usr)";

        $stmt = $this->db1->prepare($query);
        $stmt->bindValue(':emp', $this->cadastro_corretor->getEmp());
        $stmt->bindValue(':cnpj', $this->cadastro_corretor->getCnpj());
        $stmt->bindValue(':end_emp', $this->cadastro_corretor->getEndEmp());
        $stmt->bindValue(':nr_emp', $this->cadastro_corretor->getNrEmp());
        $stmt->bindValue(':compl_emp', $this->cadastro_corretor->getComplEmp());
        $stmt->bindValue(':bairro_emp', $this->cadastro_corretor->getBairroEmp());
        $stmt->bindValue(':cep_emp', $this->cadastro_corretor->getCepEmp());
        $stmt->bindValue(':cid_emp', $this->cadastro_corretor->getCidEmp());
        $stmt->bindValue(':UF', $this->cadastro_corretor->getUF());
        $stmt->bindValue(':ddd1', $this->cadastro_corretor->getDdd1());
        $stmt->bindValue(':ddd2', $this->cadastro_corretor->getDdd2());
        $stmt->bindValue(':ddd3', $this->cadastro_corretor->getDdd3());
        $stmt->bindValue(':fone1', $this->cadastro_corretor->getFone1());
        $stmt->bindValue(':fone2', $this->cadastro_corretor->getFone2());
        $stmt->bindValue(':fone3', $this->cadastro_corretor->getFone3());
        $stmt->bindValue(':ctt1', $this->cadastro_corretor->getCtt1());
        $stmt->bindValue(':ctt2', $this->cadastro_corretor->getCtt2());
        $stmt->bindValue(':email1', $this->cadastro_corretor->getEmail1());
        $stmt->bindValue(':email2', $this->cadastro_corretor->getEmail2());
        $stmt->bindValue(':dt_nasc1', $this->cadastro_corretor->getDtNasc1());
        $stmt->bindValue(':dt_nasc2', $this->cadastro_corretor->getDtNasc2());
        $stmt->bindValue(':status', $this->cadastro_corretor->getStatus());
        $stmt->bindValue(':usr', $this->cadastro_corretor->getUsr());

        $stmt->execute();

        if($stmt->execute()) {
            return true;
        }
    }

    public function gerar_cd()
    {

    }

    public function consultar()
    {
        $query_consulta = "SELECT emp, cnpj, end_emp, nr_emp, compl_emp, bairro_emp, cep_emp, cid_emp, UF, ddd1, ddd2, ddd3, fone1, fone2, fone3, ctt1, ctt2, email1, email2, dt_nasc1, dt_nasc2, status, usr
                          FROM cd_clientes
                          inner join usuarios
                          on cd_clientes.usr = usuarios.ID
                          where emp = :emp or cnpj = :cnpj";
        $stmt = $this->db1->prepare($query_consulta);
        $stmt->bindValue(':emp', $this->cadastro_corretor->getEmp());
        $stmt->bindValue(':cnpj', $this->cadastro_corretor->getCnpj());

        $stmt->execute();
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
        self::arrayToObject($result, $this->cadastro_corretor);
        echo "<pre>";
        #print_r ($this->cadastro_corretor) . "<br><br>";
        #print_r ($result);
    }


    public static function arrayToObject($source = [], &$destination) {
        foreach ($source as $key => $sourceProperty) {
            $name = $key;

            if (property_exists($destination, $name)) {
                if (is_array($source[$name]) && !empty($source[$name])) {
                    self::arrayToObject($source[$name], $destination->{$name});
                }
                else {
                    if (gettype($source[$name]) === "object") {
                        $value = (string) $source[$name];
                    }
                    else {
                        $value = $source[$name];
                    }

                    $destination->{$name} = $value;
                }
            }
        }
    }

}


Abaixo o retorno do objeto:

ServiceDB_corretor Object
(
    [db1:ServiceDB_corretor:private] => PDO Object
        (
        )

    [cadastro_corretor:ServiceDB_corretor:private] => cadastro_corretor Object
        (
            [emp] => Nunes & Grossi
            [cnpj] => 11925725/0001-07
            [end_emp] => Av Ana costa
            [nr_emp] => 374
            [compl_emp] => 21
            [bairro_emp] => Gonzaga
            [cep_emp] => 111111111
            [cid_emp] => Santos
            [UF] => 26
            [ddd1] => 13
            [ddd2] => 13
            [ddd3] => 13
            [fone1] => 32810100
            [fone2] => 32810100
            [fone3] => 99688-5570
            [ctt1] => Daniel Aquiles Lancellotti
            [ctt2] => lucas
            [email1] => daniel.lancellotti@nunesegrossi.com.br
            [email2] => lucas.mendes@live.com
            [dt_nasc1] => 2017-09-20
            [dt_nasc2] => 2017-09-26
            [status] => 2
            [usr] => 1
        )

)


Acima é o retorno de uma inclusão X que fiz no banco de dados.. eu preciso tratar esses dados para retorná-los num campo text do html da página de pesquisa

Podem me ajudar?
Daniel Lancellotti

Daniel Lancellotti

Curtidas 0

Melhor post

Leonardo Xavier

Leonardo Xavier

06/09/2017

blz vou te ajudar nessa...
GOSTEI 1

Mais Respostas

Leonardo Xavier

Leonardo Xavier

05/09/2017

Olá ja conseguiu resolver o seu problema?
eu particularmente, nunca usei códigos desta forma, utilizo sempre ajax pois tenho maior controle sobre toda requisição e posso fazer o que quiser com o retorno pois fica bem versátil, se você quiser posso fazer a mesma coisa que você esta fazendo ai com ajax.... mas vou precisar de sua tabela sql para isso. ai posso te dar um CRUD pronto com ajax. Se quiser só falar.
GOSTEI 0
Daniel Lancellotti

Daniel Lancellotti

05/09/2017

cara, eu aceito, me manda um email para que possa te passar
daniel.lancellotti@gmail.com

Eu consegui resolver uma parte, estava com problema de propriedade pública, mas mesmo assim não consigo inserir nos inputs.
GOSTEI 0
POSTAR