Ir para conteúdo
Fórum Script Brasil
  • 0

inserir dados em tabelas relacionadas php


vivihumb3003

Pergunta

Ola

estou com o mesmo problema que oDenis Courcy estava ajudando o alexclima

minha tabela filho não armazenam os dados no banco de dados....já tentei utilizar LAST_INSERT_ID() sem o select como foi citado, mas mesmo assim não funciona..

consegui fazer a primeira insercao na tabela cliente agora suas filhas não pegam os dados e nem as tabelas relacionadas...........

preciso de ajuda :)

vo passar o codigo abaixo

if(isset($_POST["cadastra_cliente"])) {
        $CPF = ($_POST["CPF"]);
        $data_nascimento = ($_POST["data_nascimento"]);
        $email = ($_POST["email"]);
        
        $CPF_enviado = validaCPF($CPF);
        $data_nascimento_enviada = validaData($data_nascimento);
        $email_enviado = checkEmail($email);
        
        if(($CPF_enviado == true)&&($data_nascimento_enviada == true)&&($email_enviado == true)){
        
            $cod_cliente = $_POST["cod_cliente"];
            $referencia_imovel = $_POST["referencia_imovel"];
            $nome = $_POST["nome"];
            //$data_nascimento = $_POST["data_nascimento"];
            //$CPF = $_POST["CPF"];
            $RG = $_POST["RG"];
            $orgao_expedidor = $_POST["orgao_expedidor"];
            //$email = $_POST["email"];
            $logradouro = $_POST["logradouro"];
            $numero = $_POST["numero"];
            $bairro = $_POST["bairro"];
            $cidade = $_POST["cidade"];
            $estado = $_POST["estado"];
            $UF = $_POST["UF"];
            $DDD_m = $_POST["DDD_m"];
            $telefone_m = $_POST["telefone_m"];
            $DDD_c = $_POST["DDD_c"];
            $telefone_c = $_POST["telefone_c"];
            $DDD_t = $_POST["DDD_t"];
            $telefone_t = $_POST["telefone_t"];
            $DDD_o = $_POST["DDD_o"];
            $telefone_o = $_POST["telefone_o"];
            
            $sqll= pg_query("SELECT cod_cliente FROM cliente ORDER BY cod_cliente DESC");
                $linha = pg_fetch_object($sqll);
                $ultcod = $linha->cod_cliente;
                $novocod = $ultcod+1;

            //echo "'$novocod', '$referencia_imovel', '$nome', '$RG', '$CPF', '$email', '$orgao_expedidor', '$logradouro', '$numero', '$bairro', '$cidade', '$estado', '$UF', '$DDD_m', '$telefone_m', '$DDD_c', '$telefone_c', '$DDD_t', '$telefone_t', '$DDD_o', '$telefone_o'";
                                                         
            $sql3 = pg_query("SELECT cod_bairro FROM bairro WHERE nome_bairro='$bairro'");
                $cod_bairro = pg_fetch_result($sql3, 0, "cod_bairro");
            $sql4 = pg_query("INSERT INTO cliente(cod_cliente, nome, email, logradouro, numero, cod_bairro) VALUES ('$novocod', '$nome', '$email', '$logradouro', '$numero', '$cod_bairro')");
            $sql5 = pg_query("INSERT INTO cliente_fisico (cod_cliente_fisico, CPF, RG, orgao_expedidor, data_nascimento) VALUES (last_insert_id(),'$CPF', '$RG', '$orgao_expedidor', '$data_nascimento')");

Editado por Denis Courcy
Melhorar entendimento do código
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi, 'vivihumb3003'

Como falei anteriormente, a melhor maneira para realizar esta tarefa é criar uma storage procedure com controle de transação e commit. Só assim você poserá assegurar que o LAST INSERT ID será daquela transação. (principio da atomicidade)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...