7
I’m trying to show a table on my return insert but I am not succeeding, the insertion operation is correct as well as the confirmation message, but the table is not displayed, I have it:
function GravaFase(event) {
event.preventDefault();
var params = $('#frmFase').serializeArray();
$("#resultado-fase").html('<img src="../_imagens/ajax-loader.gif" alt="Enviando..." />');
$.post(
'GravaFase.php',
params,
function( json, textStatus, jQxhr )
{
if (json.status != "ERRO") {
var msg = '<div class="alert alert-info" role="alert">' + json.msg + '</div>' ;
} else {
var msg = '<div class="alert alert-danger" role="alert">' + json.msg + '</div>' ;
}
// MOSTRA DE MENSAGEM CONFIRMANDO A INSERÇÃO
$("#resultado-fase").html(msg);
// MOSTRA A TABELA RETONADA
$("#resultado-tabela").html(tabela);
},
'json'
)
.fail(function( jqXhr, textStatus, errorThrown ){
console.log( jqXhr, textStatus, errorThrown );
try {
var json = $.parseJSON(jqXHR.responseText);
var msg = '<div class="alert alert-danger" role="alert">' + json.errorMessage + '.</div>';
$("#resultado-fase").html(msg);
} catch(e) {
var msg = '<div class="alert alert-danger" role="alert">Ocorreu um erro ao tentar manipular os dados. Verifique sua conexão com o banco de dados.</div>';
$("#resultado-fase").html(msg);
}
});
}
Script php Gravafase:
//Array que irá retornar o status da execução do script (JSON)
$aretorno = array();
$aretorno["msg"] = "";
$aretorno["tabela"] = "";
$aretorno["status"] = "";
@$conn = new mysqli($hostname_pcon, $username_pcon, $password_pcon, $database_pcon);
// Checar conexão
if ($conn->connect_errno) {
$aretorno["msg"] = "Conexão ao banco de dados falhou.";
$aretorno["status"] = "ERRO";
header('Content-Type: application/json');
echo json_encode($aretorno);
exit;
}
if (!$conn->set_charset("utf8")) {
$aretorno = array();
$aretorno = "Erro ao carregar conjunto de caracteres utf8.";
header('Content-Type: application/json');
echo json_encode($aretorno);
exit;
}
// RESGATE DAS VARIÁVEIS
$_POST["IdContrato"];
$_POST["dTipoFase"];
$_POST["dHora"];
$_POST["dDescricao"];
// FORMATANDO CAMPOS PARA INSERÇÃO
$Data = parseDate($_POST["dData"], "Y-m-d");
// REGISTRO DO LOG
$dataAgora = date('d/m/Y');
$hora = date("H:i:s");
$partes = explode("/", $dataAgora);
$dia = $partes[0];
$mes = $partes[1];
$ano = $partes[2];
// COMPONDO O LOG
$Log = $_SESSION['u_login']."_".$dia.$mes.$ano."_".$hora;
$IdContrato = $_POST["IdContrato"];
$BuscaRegistro = "SELECT IdTipoFase FROM `gerFaseObrigatoria` WHERE IdContrato = '$IdContrato'";
$Resultado = mysqli_query($conn, $BuscaRegistro) or trigger_error("Query Failed! SQL: $query - Error: ". mysqli_error($conn), E_USER_ERROR);
if($Resultado) {
while($row = mysqli_fetch_assoc($Resultado)) {
$row['IdTipoFase'];
if ($row['IdTipoFase'] == $_POST["dTipoFase"]) {
$sql = "INSERT INTO gerFaseContrato ( IdContrato, Descricao, IdTipoFase, Data, Hora, Log ) VALUES ( ?, ?, ?, ?, ?, ? )";
// Preparar os dados:
// i corresponde a uma variável de tipo inteiro
// d corresponde a uma variável de tipo double
// s corresponde a uma variável de tipo string
// b scorresponde a uma variável que contém dados para um blob e enviará em pacotes
if($stmt = $conn->prepare($sql) ){
$stmt->bind_param(
"ssssss",
// RESGATE DAS VARIÁVEIS
$_POST["IdContrato"],
$_POST["dDescricao"],
$_POST["dTipoFase"],
$Data,
$_POST["dHora"],
$Log
);
// DESLIGA O AUTO COMMIT
// $conn->autocommit(false);
// INSERINDO REGISTRO NO BD
if ($stmt->execute()) {
$IdContrato = $_POST["IdContrato"];
$Busca = "SELECT *, date_format(`Data`,'%d/%m/%Y') AS `Data` FROM gerFaseContrato WHERE IdContrato = '$IdContrato'";
$Fase = mysqli_query($conn, $Busca) or trigger_error("Query Failed! SQL: $query - Error: ". mysqli_error($conn), E_USER_ERROR);
$aretorno["tabela"] = '';
//fetch records
while($row = mysqli_fetch_assoc($Fase)) {
$aretorno["tabela"] .= '';
$aretorno["tabela"] .= ''.$row['IdFase'].'';
$aretorno["tabela"] .= ''.$row['Descricao'].'';
$aretorno["tabela"] .= ''.$row['Data'].'';
$aretorno["tabela"] .= ''.$row['Hora'].'';
$aretorno["tabela"] .= '';
}
$aretorno["tabela"] .= '';
$aretorno["msg"] = "Registro inserido com sucesso." . $aretorno["tabela"];
} else {
$aretorno["msg"] = "Ocorreu um erro na inclusão dos dados:". $stmt->error ." Verifique";
$aretorno["status"] = "ERRO";
}
} else {
$aretorno["msg"] = "Ocorreu um erro na preparação dos dados: " . $stmt->error . ". Verifique.";
$aretorno["status"] = "ERRO";
}
} else {
$aretorno["msg"] = "Fase obrigatoria não confere, precisa ser fase: " . $row['IdTipoFase'];
$aretorno["status"] = "ERRO";
}
}
}
// Fecha conexão com o BD
$conn->close();
//retornando o status / mensagem da execução
header('Content-Type: application/json');
echo json_encode($aretorno);
Where information is displayed:
<!-- EXIBIÇÃO DAS MENSAGENS - FORMULÁRIO FASES -->
<div class="col-md-12 column" id="resultado-fase"></div>
<!-- EXIBIÇÃO DOS REGISTROS DO BANCO DE DADOS -->
<div class="col-md-12 column" id="resultado-tabela"></div>
Excellent, thanks for the great help @brunohdf
– adventistapr