Insert ID from one table into another

Asked

Viewed 250 times

1

I’ve seen other posts but they don’t meet my need, I’m making the mistake that only looks for the first person table ID and not what is inside the field, example: I have the ID 6700 inside the input and it inserts in the table pjuridic always the first person table id

I can’t use mysqli_insert_id(), last_insert_id() someone could tell me a way that’s right, or where I’m going wrong.

index php.

            <form action="salvar_pessoa.php" method="post"><!-- Inicio Form -->
                <div class="col-lg-2"><!-- Inicio Input ID -->
                    <label for="ex1">ID:</label>
                    <input type="text" class="form-control" maxlength="13"  name="id">
                </div><!-- Fim Input ID -->

                <div class="col-lg-6"><!-- Inicio Input Nome -->
                    <label for="ex1">Nome:</label>
                    <input type="text" required class="form-control" maxlength="50"  name="nome">
                </div><!-- Fim Input Nome -->

                <div class="col-lg-6"><!-- Inicio checkbox Registro Inativo-->
                    <div class="col-lg-2"><!-- Inicio Botão para efetuar registro no Banco de Dados -->
                        <input type="submit" class="btn btn-success btn-lg btn-block" name='enviar' style="margin-top:17px; outline:none;" value="Cadastrar">
                    </div><!-- Fim Botão para efetuar registro no Banco de Dados -->
                </div>
            </form>  

            <form action='salvar_pessoa.php' method='POST'>
                <?php
                    $sql= "SELECT * FROM pessoa"; 
                    $resulta = $conn->query($sql);
                    $row = $resulta->fetch_assoc();
                ?>

                <div class="col-lg-12"> 
                    <input type="hidden" maxlength="6"  name="id" value="<?php echo $row['id']; ?>"> 
                        <br>                                
                        <div class="col-lg-5"><!-- Inicio Input -->
                            <label for="ex1">CNPJ:</label>
                            <input type="text" class="form-control" id="cnpj" maxlength="14"  name="cnpj" placeholder="__.___.___/____-__"><br>
                        </div><!-- Fim Input -->
                </div>

                <div class="col-lg-12">                                                                 
                        <div class="col-lg-5"><!-- Inicio Input -->
                             <label for="ex1">Inscrição Estadual:</label>
                             <input type="text" class="form-control" maxlength="14"  name="ie"><br>
                        </div><!-- Fim Input -->
                </div>

                <div class="col-lg-12">
                        <div class="col-lg-5"><!-- Inicio Input -->
                             <label for="ex1">Razão Social:</label><br>
                             <input type="text" class="form-control" maxlength="60"  name="razao_social">
                        </div><!-- Fim Input -->
                </div>

                <div class='col-lg-12'>
                    <div class='form-group col-lg-3'><!-- Inicio Botão para efetuar registro no Banco de Dados -->
                        <input type="submit" class="btn btn-success btn-lg btn-block" name="enviar_jur" style="margin-top:17px; outline:none;" value="Salvar Informações">
                    </div>
                </div>
            </form>

salvar_pessoa.php

        if(isset($_POST['enviar'])){

            $id = $_POST['id'];
            $nome = $_POST['nome'];
            $inativo = array_key_exists('inativo', $_POST) ? 1 : 0;

            $sql_pessoa = "SELECT * FROM pessoa WHERE id = '$id' "; 
            $resulta = $conn->query($sql_pessoa);
            $row = $resulta->fetch_assoc();

            if ($resulta->num_rows > 0) {
                $result = "UPDATE pessoa SET nome = '$nome', inativo = '$inativo' WHERE id = '$id' ";
            } else {
                $result = "INSERT INTO pessoa (nome, inativo) VALUES ('$nome', '$inativo')";
            }

            $resultado = mysqli_query($conn, $result);
            echo $result;
        }           

        if(isset($_POST['enviar_jur'])){

                $id = $_POST['id'];
                $chars = array(".","/","-");
                $cnpj = str_replace($chars, "", $_POST['cnpj']);
                $ie = $_POST['ie'];
                $razao_social = $_POST['razao_social'];

                $sql = "SELECT * FROM pjuridic WHERE id_pessoa = '$id' "; 
                $resulta = $conn->query($sql);
                $row = $resulta->fetch_assoc();

                if($resulta->num_rows > 0){
                    $result_jur = "UPDATE pjuridic SET cnpj = '$cnpj', ie = '$ie', razao_social = '$razao_social' WHERE id_pessoa = '$id' ";
                } else {
                    $result_jur = "INSERT INTO pjuridic (id_pessoa, cnpj, ie, razao_social) VALUES "
                    . "('$id', '$cnpj', '$ie', '$razao_social')";
                }

                $resultado = mysqli_query($conn, $result_jur);
                echo $result_jur;
        }

1 answer

1


Very common mistake. I make a lot You forgot to put the 'echo'

<input type="hidden" maxlength="6"  name="id" value="<?php echo $row['id']; ?>"> 

Browser other questions tagged

You are not signed in. Login or sign up in order to post.