Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu possuo um carrinho de compras que me mostra os itens selecionados pelo cliente dentro de um foreach, conforme código abaixo:
<?php foreach($resultsCarts as $result) : ?>
<tr>
<td><?php echo $result['name']?></td>
<td><input type="text" name="prod[<?php echo $result['id']?>]" value="<?php echo $result['quantity']?>" size="1" max="<?php echo $result['estoque']?>" min="1"/></td>
<td>R$<?php echo number_format($result['price'], 2, ',', '.')?></td>
<td>R$<?php echo number_format($result['subtotal'], 2, ',', '.')?></td>
</tr>
<?php endforeach;?>
Eu gostaria de inserir todos os itens retornados dentro de uma tabela chamada itens_pedido, vinculando todos eles ao último pedido feito.
O código que insere os dados do último pedido e que me retorna o identificador dela é o que segue abaixo, e funciona:
$sql = "INSERT INTO psd_pedidos (pedido_id, pedido_data, pedido_data_hora, pedido_valor, pedido_status) values('','".date('Y-m-d')."','".date('Y-m-d H:i:s')."', '".$ttpagseguro."','finalizado')";
$stmt = $conn->prepare($sql);
$stmt->execute();
$ultpedido = $conn->lastInsertId();
O problema que não estou conseguindo resolver é: como pegar a informação que e é retornada pela variável $ultpedido, que é o identificador do último pedido feito, e todos os itens do carrinho de compras e inseri-los na tabela psd_itens, vinculados a este último pedido. O campo que armazena o último pedido na tabela psd_itens é uma chave estrangeira da tabela psd_pedidos e tem o nome de pedido_id.
Eu desenvolvi o seguinte código, que me parece não ter problemas, mas não estou sabendo usa-lo:
//VARIAVEIS COM VALORES QUE RETORNAM NO FOREACH
$nmproduto = $result['name'];
$vlproduto = $result['price'];
$qtproduto = $result['quantity'];
$sbtproduto = $result['subtotal'];
$sql = "INSERT INTO psd_itens(itens_id, pedido_id, itens_produto, itens_quantidade, itens_valor_produto, itens_total ) values(";
$stmt = $conn->prepare($sql);
$stmt->execute();
Sei que ele deve estar dentro do foreach mas todas as minhas tentativas com soluções de outras experiências retornaram erros. Alguém sabe como eu resolvo estes problemas?Carregando comentários...