0
My JOIN function is working but I nickname the tables and even so, because the fields are identical my inputs that have the field of the same name are filled even if there is no record relative to the person id in the table.
$result = "SELECT A.id, A.nome, A.inativo, B.tipo_endereco, B.cep, B.tipo_logr, B.nome_logr, B.nume_logr, B.comp_logr, B.cidade, B.bairro, B.uf,"
. " C.operadora, C.telefone, C.email, C.homepage, C.skype, D.cnpj, D.im, D.ie, D.iest, D.cnae, D.razao_social, E.cpf, E.sexo, E.nacionalidade,"
. " E.rg, E.orgao_emissor, E.estado_civil, E.data_nascimento AS data_nascimento_pf, F.codigo, F.funcionario, F.data_nascimento AS data_nascimento_func FROM PESSOA A"
. " LEFT OUTER JOIN CADEND B ON (A.ID = B.ID_PESSOA) "
. " LEFT OUTER JOIN CADCONT C ON (B.ID_PESSOA = C.ID_PESSOA) "
. " LEFT OUTER JOIN PJURIDIC D ON (C.ID_PESSOA = D.ID_PESSOA) "
. " LEFT OUTER JOIN PFISICA E ON (D.ID_PESSOA = E.ID_PESSOA) "
. " LEFT OUTER JOIN CADFUNC F ON (E.ID_PESSOA = F.ID_PESSOA) WHERE A.id='$id' LIMIT 1";
$resultado = $conn->query($result);
// DECLARA A VARIAVEL
$valores = array();
if($resultado){
$row = mysqli_fetch_assoc($resultado);
$valores['nome'] = $row['nome'];
$valores['inativo'] = $row['inativo'];
$valores['id'] = $row['id'];
$valores['tipo_endereco'] = $row['tipo_endereco'];
$valores['cep'] = $row['cep'];
$valores['tipo_logr'] = $row['tipo_logr'];
$valores['nome_logr'] = $row['nome_logr'];
$valores['nume_logr'] = $row['nume_logr'];
$valores['comp_logr'] = $row['comp_logr'];
$valores['cidade'] = $row['cidade'];
$valores['bairro'] = $row['bairro'];
$valores['uf'] = $row['uf'];
$valores['operadora'] = $row['operadora'];
$valores['telefone'] = $row['telefone'];
$valores['email'] = $row['email'];
$valores['homepage'] = $row['homepage'];
$valores['skype'] = $row['skype'];
$valores['cnpj'] = $row['cnpj'];
$valores['im'] = $row['im'];
$valores['ie'] = $row['ie'];
$valores['iest'] = $row['iest'];
$valores['cnae'] = $row['cnae'];
$valores['razao_social'] = $row['razao_social'];
$valores['cpf'] = $row['cpf'];
$valores['sexo'] = $row['sexo'];
$valores['nacionalidade'] = $row['nacionalidade'];
$valores['rg'] = $row['rg'];
$valores['orgao_emissor'] = $row['orgao_emissor'];
$valores['estado_civil'] = $row['estado_civil'];
$valores['data_nascimento_pf'] = $row['data_nascimento_pf'];
$valores['codigo'] = $row['codigo'];
$valores['funcionario'] = $row['funcionario'];
$valores['data_nascimento_func'] = $row['data_nascimento_func'];
}
in this case I left the F.data_birth to exemplify, I give JOIN but there is no employee record in this table CADFUNC so the return I have are the blank form fields but, the date comes filled with the value of the input of the physical person table PFISICA
thanks worked, so I put $values to receive $Row, because before starting my while I state that $values is an array
– Victor