Gravar $_SESSION (matriz) no banco de dados
Tenho uma página de carrinho.php que faz uma consulta no banco de dados e seu retorno é armazenado em uma matriz, esta matriz armazena os dados do pedido, gostaria que quando o cliente finalizasse o pedido estes dados fossem enviados e salvos no banco de dados, alguém poderia me ajudar?
<?php
include "../config.php";
session_start();
if(!isset($_SESSION['carrinho'])){
$_SESSION['carrinho'] = array();
}
//adicionar produto
if(isset($_GET['acao'])){
//adicionar carrinho
if($_GET['acao'] == 'add'){
$id = intval($_GET['id']);//verificar se o valor vindo é um numero inteiro
if(!isset($_SESSION['carrinho'][$id])){//array recebendo valores $carrinho = $array(1 => 10); 1 rescebe qtd 10
$_SESSION['carrinho'][$id] = 1;
}else{
$_SESSION['carrinho'][$id] += 1;
}
}//end if
//remover carrinho
if($_GET['acao'] == 'del'){
$id = intval($_GET['id']);
if(isset($_SESSION['carrinho'][$id])){
unset($_SESSION['carrinho'][$id]);
}
}
//alterar quantidades
if($_GET['acao'] == 'up'){
if(is_array($_POST['prod'])){
foreach($_POST['prod'] as $id => $qtd){
$id = intval($id);
$qtd = intval($qtd);
if(!empty($qtd) || $qtd <> 0){
$_SESSION['carrinho'][$id] = $qtd;
}else{
unset($_SESSION['carrinho'][$id]);
}
}
}
}}//end if
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Carrinho</title>
</head>
<link type="text/css" rel="stylesheet" href="css/carrinho.css" />
<body>
<div class="dados_conteudo">
<img src="../imagens/icones/full-cart.png" width="64" height="64" align="absmiddle" style="float:left"/><h3>Carrinho de Pedidos</h3>
<form action="?acao=up" method="post" id="carrinho" name="carrinho">
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#EAEAEA">
<tr>
<td colspan="4" bgcolor="#D5D5D5"><span>Pedido</span> </td>
</tr>
<!--produtos-->
<?php
if(count($_SESSION['carrinho']) == 0){
echo '<tr><td>Não foi selecionado nenhum Produto</td></tr>';
}else{
foreach($_SESSION['carrinho'] as $id => $qtd){
$pg_sql = pg_query("SELECT * FROM cardapio.produtos WHERE id = '$id'")or die("Não foi possível selecionar produtos " . pg_last_error());
$ln = pg_fetch_assoc($pg_sql);
$nome = $ln['nome'];
$preco = number_format($ln['preco'], 2 , ',' , '.' );
$sub = number_format($ln['preco'] * $qtd, 2, ',' , '.' );
$sub_soma = number_format($ln['preco'] * $qtd, 2, '.' , '.' );
$total += $sub_soma;
echo'
<tr>
<td width="100" rowspan="3">
<img src="../imagens/produto.jpg" width="100" height="100" align="middle" id="foto"/>
</td>
<td colspan="2">
<strong>'.$nome.'</strong>
</td>
<td>
<a href="?acao=del&id='.$id.'" style="float:right;">Remover <img src="../imagens/icones/fechar.png" width="16" height="16" align="absmiddle" /></a>
</td>
</tr>
<tr>
<td align="center" width="60">
Quantidade
</td>
<td align="center">
Preço Unitário
</td>
<td align="center">
Preço Total
</td>
</tr>
<tr>
<td align="center">
<input type="text" size="10" name="prod['.$id.']" value="'.$qtd.'" align="middle"></input>
</td>
<td align="center">
R$ '.$preco.'
</td>
<td align="center">
R$ '.$sub.'
</td>
</tr>
';
$i+=1;
$vetor[$i] = array('id' => $id, 'nome' => $nome, 'qtd' => $qtd, 'preco' => $preco);
$_SESSION['matriz'] = array('vetor'.$i => $vetor[$i]);
print_r($_SESSION['matriz']);
$qtd = $i;
}//end foreach
}//end else
?>
<!--produtos-->
</table>
<!--Total Compra-->
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#EAEAEA">
<tr>
<td colspan="2" bgcolor="#D5D5D5">
<span style=" float:left">Valor Total do Pedido<br /><br />
<strong style="font-size:20px; color:#000"><?php echo 'R$ '.number_format($total, 2,',','.')?></strong></span>
<img src="../imagens/icones/checkout.png" width="64" height="64" style="float:right"/>
</td>
</tr>
<tr>
<td width="50%" align="left">
<img src="../imagens/icones/atualizar.png" width="16" height="16" align="absmiddle" /><input type="submit" value="Atualizar Carrinho" />
</td>
<td width="50%" align="right">
<a href="#" rel="shadowbox" onclick="window.parent.Shadowbox.close()">Continuar Comprando</a>
</td>
</tr>
</table>
<!--Total Compra-->
</form>
<form name="finaliza_pedido" id="finaliza_pedido" action="../usuarios/teste.php" method="post" enctype="multipart/form-data" onsubmit="document.finaliza_pedido.submit();">
<table width="100%">
<td><img src="../imagens/icones/dinheiro16.png" /><input type="submit" value="Finalizar Compra" /></td>
</table>
</form>
</div><!--dados_conteudo-->
</body>
</html>Discussão (2)
Carregando comentários...