Fórum Tratar select retornando um objeto numa classe OOP PHP #585602
05/09/2017
0
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 é igualAbaixo 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
Curtir tópico
+ 0Post mais votado
06/09/2017
Leonardo Xavier
Gostei + 1
Mais Posts
06/09/2017
Leonardo Xavier
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
06/09/2017
Daniel Lancellotti
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
Clique aqui para fazer login e interagir na Comunidade :)