0
I want to insert multiple values in the table, for each portion quantity informed. It’s all right, working though.. I need that every loop the due date has the month added up. The code below:
$response['status'] = "";
$response['html'] = "";
// Se não houver nenhum erro
if (!isset($error)) {
// Redefinindo valor da variável $pago
$pago = (!empty($pago)) ? "Sim" : "Não";
$sql = "INSERT INTO despesas (valor_despesa, data_vencimento, pago, data_pagamento, importante, tipo_repeticao, parcelas, observacoes, id_usuario, id_tipo_despesa, id_tipo_pagamento) VALUES ";
$insertQuery = array();
$insertData = array();
$n = 0;
for ($x = 1; $x <= $parcelas; $x++) {
$insertQuery[] = "(:valor_despesa".$n.", :data_vencimento".$n.", :pago".$n.", :data_pagamento".$n.", :importante".$n.", :tipo_repeticao".$n.", :parcelas".$n.", :observacoes".$n.", :id_usuario".$n.", :id_tipo_despesa".$n.", :id_tipo_pagamento".$n.")";
$insertData["valor_despesa".$n] = $valor_despesa;
$insertData["data_vencimento".$n] = $data_vencimento;
$insertData["pago".$n] = $pago;
$insertData["data_pagamento".$n] = $data_pagamento;
$insertData["importante".$n] = $importante;
$insertData["tipo_repeticao".$n] = $tipo_repeticao;
$insertData["parcelas".$n] = $parcelas;
$insertData["observacoes".$n] = $observacoes;
$insertData["id_usuario".$n] = $id_logado;
$insertData["id_tipo_despesa".$n] = $id_tipo_despesa;
$insertData["id_tipo_pagamento".$n] = $id_tipo_pagamento;
$data_vencimento = strtotime('+1 month', $data_vencimento);
$data_vencimento = date( 'Y-m-j' , $data_vencimento);
$n++;
}
try {
$pdo = abrirConexao();
if (!empty($insertQuery)) {
$sql .= implode(", ", $insertQuery);
$inserir = $pdo->prepare($sql);
$inserir->execute($insertData);
if($inserir) {
// Mensagem de sucesso
$response['html'] = "A despesa foi cadastrada com sucesso!";
}
$response['status'] = "success";
}
// Fechar conexão
$pdo = null;
} catch (PDOException $e) {
// Mensagem de erro
}
} else {
foreach($error as $erro) {
$response['html'] .= $erro . "<br>";
}
$response['status'] = "error";
}
echo json_encode($response);
Errors are occurring when adding lines 25-26. What is this about?
What error is it? paste the message
– rray
I did an edit on my main post... the most complete code.. I did not put to return exceptions pq I am coding for JSON to return the message in the Ajax form call.
– Eduardo Henrique
Take the error message code and send it to json. To get it do
$inserir->errorInfo()
you will need aprint_r()
– rray
No result.. Would that be so? print_r($insert->errorInfo());
– Eduardo Henrique
In that if
if($inserir) {
add an Else block this way:}else{ $msg = $inser->errorInfo(); $response['status'] = 'erro'; $response['html'] = $msg[2];}
– rray
No result yet... ajax is as follows: https://pastebin.com/Y9NiBVv7
– Eduardo Henrique
and lines 25 and 26 are?
– rray
$data_vencimento = strtotime('+1 month', $data_vencimento);
$data_vencimento = date( 'Y-m-j' , $data_vencimento);
I wanted to add one more month for each record.– Eduardo Henrique
See my answer below... I managed to insert, the date is changing for each record... however... the success message does not return.
– Eduardo Henrique