Insert data if another INSERT is executed successfully

2

I want you to insert the data into the table. If the first entry, in table.1, is executed successfully.

all_processo.php

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
	<title>Cadastro de Processos</title>
	<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
	<link rel="stylesheet" type="text/css" href="css/custom.css">
	<style type="text/css">
	<!--
.loader {
	margin: 0 auto;
  border: 12px solid #000000;
  border-radius: 50%;
  border-top: 7px solid black;
  border-right: 7px solid grey;
  border-bottom: 7px solid black;
  border-left: 7px solid grey;
  width: 50px;
  height: 50px;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 1s linear infinite;
}

@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.center1 {
	text-align: center;
}
<!---->
</style>
</head>
<body>
	<div class='container box-mensagem-crud'>
		<?php 
		require 'conexao.php';

		$conexao = conexao::getInstance();


		$acao  = (isset($_POST['acao'])) ? $_POST['acao'] : '';

	
		$numero = $_POST['numero'];
		$assunto = $_POST['assunto'];
		$requerente = $_POST['requerente'];
		$status = $_POST['status'];
		$informe = $_POST['informe'];
		$data = $_POST['data'];
		$processo_id = (isset($_GET['processo_id']));
		
		if ($acao == 'incluir'):
		
 
 
		$processos = "INSERT INTO processos(numero, assunto, requerente, status)
			VALUES(:numero, :assunto, :requerente, :status)";


			$stm = $conexao->prepare($processos);
			$stm->bindValue(':numero', $numero);			
			$stm->bindValue(':assunto', $assunto);
			$stm->bindValue(':requerente', $requerente);
			$stm->bindValue(':status', $status);
			$retorno = $stm->execute();
			
			if ($retorno == 1){
				
				$lastid = $conexao->lastInsertId();
			
			$informes = "INSERT INTO informes(informe, data, processo_id)
			VALUES (:informe, :data, :processo_id = $lastid)";
			
			$tsm = $conexao->prepare($informes);
			$tsm->bindValue(':informe', $informe);
			$tsm->bindValue(':data', $data);
			$tsm->bindValue(':processo_id', $processo_id);
			$lol = $tsm->execute();
			
			}else{
				if ($retorno == 0){
				
				echo "<div class='' role='alert'>Erro nos informes!</div>";
				echo "<div class=''</div>";

			echo "<meta http-equiv=refresh content='3;URL=registrarprocesso.php'>";
			}
			}
			
			if ($lol):
			
				echo "teste";
				echo "<div class='center1' role='alert'>Processo inserido com sucesso, aguarde você está sendo redirecionado...</div> ";
				echo "<div class='loader'</div>";
		    else:
		    	echo "<div class='center1' role='alert'>Erro ao inserir processo, aguarde!</div>";
				echo "<div class='loader'</div>";
			endif;

			echo "<meta http-equiv=refresh content='4;URL=listarprocessos.php'>";
			
			
		endif;

?>

table.1:

table.2:

    
asked by anonymous 07.05.2018 / 16:16

1 answer

0

2nd INSERT only if 1st happens:

<?php
    require 'conexao.php';
    $conexao = conexao::getInstance();
    $acao  = (isset($_POST['acao'])) ? $_POST['acao'] : '';
    $numero = $_POST['numero'];
    $assunto = $_POST['assunto'];
    $requerente = $_POST['requerente'];
    $status = $_POST['status'];
    $informe = $_POST['informe'];
    $data = $_POST['data'];
    $processo_id = (isset($_GET['processo_id']));
    if ($acao == 'incluir'){
        $processos = "INSERT INTO processos(numero, assunto, requerente, status)VALUES(:numero, :assunto, :requerente, :status)";
        $stm = $conexao->prepare($processos);
        $stm->bindValue(':numero', $numero);
        $stm->bindValue(':assunto', $assunto);
        $stm->bindValue(':requerente', $requerente);
        $stm->bindValue(':status', $status);
        if($stm->execute()){
            $lastid = $conexao->lastInsertId();
            //************** aqui entram os valores que faltam *******************
            $informes = "INSERT INTO informes(de_setor, para_setor, informe, data, informante, processo_id)VALUES (:de_setor, :para_setor, :informe, :data, :informante, :processo_id)";
            $tsm = $conexao->prepare($informes);
            $tsm->bindValue(':de_setor', $de_setor);
            $tsm->bindValue(':para_setor', $para_setor);
            $tsm->bindValue(':informe', $informe);
            $tsm->bindValue(':data', $data);
            $tsm->bindValue(':informante', $informante);
            $tsm->bindValue(':processo_id', $lastid);
            if($tsm->execute()){
                echo "teste";
                echo "<div class='center1' role='alert'>Processo inserido com sucesso, aguarde você está sendo redirecionado...</div> ";
                echo "<div class='loader'</div>";
            }else{
                echo "<div class='center1' role='alert'>Erro ao inserir processo, aguarde!</div>";
                echo "<div class='loader'</div>";
            }
        }else{
            echo "<div class='' role='alert'>Erro nos informes!</div>";
            echo "<div class=''</div>";
            echo "<meta http-equiv=refresh content='3;URL=registrarprocesso.php'>";
        }
        echo "<meta http-equiv=refresh content='4;URL=listarprocessos.php'>";
    }
?>

There was also an error in the second INSERT and bind_param() .

If the values of de_setor, para_setor e informante already exist, from another query, pass the values here, or make a query to bring the values.

    
07.05.2018 / 16:54