Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, boa tarde pessoal do fórum,
Novamente recorro a ajuda de vocês, e humildemente já peço uma dica.
Seguinte, tenho uma carrinho de compra que adaptei para uma "solicitação de orçamento" e me deparei com um problema que não estou conseguindo resolver, o carrinho hoje está funcionando da seguinte forma:
O representante efetua um orçamento e coloca a quantidade e se precisar alterar a mesma ele utiliza um link denominado "alterar a quantidade", pois bem, agora tenho uma nova situação, que é a seguinte:
O representante informa uma quantidade, um preço e isso deverá me resultar em um subtotal e ai é que está o grande problema, não estou conseguindo resolver isso, pois terei disparar essa alteração sempre que alterar a quantidade ou o preço e não perder esses valores quando houver uma nova inclusão de produtos, vejam o código:
<?php
/*
----------------------------------------------------------------------
Arquivo .............: PHP - Carrinho Representante
Criado em ..........: Março/2009
----------------------------------------------------------------------
*/
// ini_set("display_errors", "OFF");
session_start();
require_once('../Connections/conexao.php');
// resgata o valor da variável por 2 métodos
if ($_POST) {
$_SESSION['id_cliente'] = $_POST['id_cliente'];
} else {
$_SESSION['id_cliente'] = $_GET['id_cliente'];
}
// inicializa variável se ela não existir
if (!empty($_POST['id_cliente']))
$_SESSION['id_cliente'] = $_POST['id_cliente'];
if (!empty($_GET['id_cliente']))
$_SESSION['id_cliente'] = $_GET['id_cliente'];
mysql_select_db($database_conexao, $conexao);
$query_cliente = "SELECT * FROM clientes WHERE id_cliente = '". $_SESSION['id_cliente'] ."' ";
echo $query_cliente;
$cliente = mysql_query($query_cliente, $conexao) or die(mysql_error());
$row_cliente = mysql_fetch_assoc($cliente);
$row_cliente['empresa'];
$row_cliente['pessoa'];
/*
----------------------------------------------
Inicializa a variável com a opção da pessoa
1 - Pessoa Jurídica
2 - Pessoa Física
-------------------------------------------------
*/
if ( $row_cliente['pessoa'] == 1 ) {
$row_cliente['pessoa'] = "Pessoa Jurídica";
} else {
$row_cliente['pessoa'] = "Pessoa Física";
}
//verifica se a opção atualizar foi selecionada
if($_POST[opc_atualizar]) {
// recebe os produtos
$atualiza = $_POST[a_prod];
// pega a chave do array
$chave = array_keys($atualiza);
// exibe
for($i=0; $i<sizeof($chave); $i++) {
// pega o índice do produto
$indice = $chave[$i];
// altera a quantidade do produto selecionado
$_SESSION[cesta][$indice][QTDE] = $atualiza[$indice][QTDE];
}// fecha for
// passa id do cliente da sessão atual
echo "<script language='JavaScript'>location.href='container.php?conteudo=carrinho.php&id_cliente=$_SESSION[id_cliente]'</script>";
// header("Location:container.php?conteudo=carrinho.php");
}// fecha if
// verifica se a opção excluir foi selecionada
elseif($_POST[opc_excluir]) {
// recebe os produtos para exclusão
$excluir = $_POST[check];
// exibe
for($i=0; $i<sizeof($excluir); $i++) {
// pega o índice do produto
$indice = $excluir[$i];
// destrói a variável
$_SESSION[TotalProdutos] = $_SESSION[TotalProdutos]-1;
unset($_SESSION[cesta][$indice]);
}// fecha for
// passa id do cliente da sessão atual
echo "<script language='JavaScript'>location.href='container.php?conteudo=carrinho.php&id_cliente=$_SESSION[id_cliente]'</script>";
}// fecha if
// recebe o pedido do usuário
elseif($_POST[Form_Produto] != "") {
// recebe as variáveis
$v_prod = $_POST["Form_Produto"];
// pega a chave do array
$chave = array_keys($v_prod);
// exibe
for($i=0; $i<sizeof($chave); $i++) {
$indice = $chave[$i];
// verifica se o produto já existe
if(!empty($v_prod[$indice][QTDE]) ) {
if ($_SESSION[cesta][$indice][QTDE] == "") {
$_SESSION[TotalProdutos] = $_SESSION[TotalProdutos] + 1;
}
// grava no array cesta
$cesta[$indice][CODIGO] = $v_prod[$indice][CODIGO];
$cesta[$indice][PRODUTO] = $v_prod[$indice][PRODUTO];
$cesta[$indice][PESO] = $v_prod[$indice][PESO];
$cesta[$indice][CATEGORIA] = $v_prod[$indice][CATEGORIA];
$cesta[$indice][PRECO] = $v_prod[$indice][PRECO];
$cesta[$indice][QTDE] = $_SESSION[cesta][$indice][QTDE] + $v_prod[$indice][QTDE];
$_SESSION[ValorTotal] = $_SESSION[ValorTotal] + $v_prod[$indice][PRECO];
}// fecha if
}// fecha for
// grava na sessão
$_SESSION[cesta] = $cesta;
}// fecha else
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title><?php echo $titulo_site; ?></title>
<link rel="stylesheet" href="../css/carrinho.css">
<script language="JavaScript">
function zebra(id, classe) {
var tabela = document.getElementById(id);
var linhas = tabela.getElementsByTagName("tr");
for (var i = 0; i < linhas.length; i++) {
((i%2) == 0) ? linhas[i].className = classe : void(0);
}
}
<!--
function enviar(opcao) {
//OPÇÃO EXCLUIR SELECIONADA
if(opcao == 'E') {
document.frmCarrinho.opc_excluir.value = 1;
document.frmCarrinho.submit();
}//FECHA IF
//OPÇÃO ATUALIZAR SELECIONADA
if(opcao == 'A') {
document.frmCarrinho.opc_atualizar.value = 1;
document.frmCarrinho.submit();
}//FECHA IF
//OPÇÃO FRETE
if(opcao == 'F') {
document.frmCarrinho.opc_frete.value = 1;
document.frmCarrinho.submit();
}//FECHA IF
}//FECHA FUNCTION
//-->
</script>
</head>
<body>
<!-- camada principal-->
<p align="left">
<?php if ($_SESSION[cesta] == "") { ?>
<BR>
</p>
<P align=center>Não há nenhum item em seu carrinho de compras.<BR>
Se você realizou um orçamento anteriormente sua <br>
sessão de compras está expirada!</P>
<p>
<?php } else { ?>
</p>
<table width="100%">
<tr>
<td align="left"> </td>
<td align="left"> </td>
<td> </td>
</tr>
<tr>
<td width="4%" align="left"> </td>
<td width="93%" align="left">Orçamento para: <strong><span class="menuCategoria"><?php echo $row_cliente['empresa']; ?></span> - </strong>(<?php echo $row_cliente['pessoa']; ?>)</td>
<td width="3%"> </td>
</tr>
<tr>
<td align="left"> </td>
<td align="left" class="corpoDocumento"> </td>
<td> </td>
</tr>
</table>
<form name="frmCarrinho" method="post">
<input type="hidden" name="opc_excluir">
<input type="hidden" name="opc_atualizar">
<input name="id_cliente" type="hidden" id="id_cliente" value="<?php echo $_SESSION['id_cliente']; ?>">
<table width="90%" align="center" cellpadding="0" cellspacing="0" id="minhatabela">
<tr>
<th width="78" align="center">
<strong>Código</strong></th>
<th width="328" align="center"><strong>Produto</strong>
<div align="center"></div></th>
<th width="125" align="center">Linha</th>
<th align="center"><strong>Qtde.</strong></th>
<th align="center">Unitário</th>
<th width="101" align="center">Total</th>
<th width="56" align="center"><strong>Excluir</strong></th>
</tr>
<?php
// pega a chave
$chave_cesta = @array_keys($_SESSION[cesta]);
// exibe os produtos da cesta
for($i=0; $i<sizeof($chave_cesta); $i++) {
$indice = $chave_cesta[$i];
// subtotais de cada produto
$subtotal = $_SESSION[cesta][$indice][QTDE] * $_SESSION[cesta][$indice][PRECO];
// total geral
$total += $subtotal;
?>
<tr>
<td><?php echo $_SESSION[cesta][$indice][CODIGO]; ?></td>
<td><?php echo $_SESSION[cesta][$indice][PRODUTO]; ?></td>
<td><?php echo $_SESSION[cesta][$indice][CATEGORIA]; ?></td>
<td width="194" align="center"><input name="a_prod[<?php echo $indice; ?>][QTDE]" type="text" value="<?php echo $_SESSION[cesta][$indice][QTDE]; ?>" size="1">
<a href="#" onClick="enviar('A');return false;">alterar quantidade</a></td>
<td width="97" align="center"><input name="a_prod[<?php echo $indice; ?>][PRECO]" type="text" size="5"></td>
<td align="center"><input name="a_prod[<?php echo $indice; ?>][SUBTOTAL]" type="text" value="<?php echo number_format($subtotal,2,',','.'); ?>" size="5"></td>
<td width="56" align="center"><input name="check[]" type="checkbox" value="<?php echo $indice; ?>"></td>
</tr>
<?php }// fecha for ?>
</table>
<table width="95%" align="center">
</table>
<script>zebra('minhatabela','zb');</script>
</form>
<p align="center">
<input name="btnExcluir" type="image" onClick="enviar('E');" src="imagens/excluir.gif" alt="Excluir Selecionados" align="middle">
</p>
<p align="center"><a href="produtos.php?id_categoria=<?php echo $_SESSION[cesta][$indice][CATEGORIA]; ?>"><img src="../imagens/alterarEndereco.jpg" width="154" height="21" border="0"></a><a href="container.php?conteudo=encerramento.php"><img src="../imagens/finalizarOrcamento.gif" width="121" height="19" border="0"></a></p>
<?php } // fim do for ?>
</body>
</html>
Sei que é um absurdo, mas se puderem me ajudar, vou agradecer, pois tentei e nada consegui.
Valeu e fiquem na paz.Carregando comentários...