Quando o cliente marca varios produtos e envia todos, eu crio uma matriz de filtro para saber o valor do campo name="marcado" que é uma checkbox de cada produto que o $_post do form enviou.
Dai eu filtro o array $_post por valor de marcado=On e com os produtos enviados marcado=On, eu faço uma matriz $dados.
Depois, eu jogo essa matriz para o carrinho propriamente dito.
O meu problema é que, caso o cliente marque 3 produtos e depois ele decida voltar e marcar outro produto, o array dados não envia esse outro.
O que eu devo fazer para resolver isso?
Acho que devo ao final do lançamento no carrinho zerar o array $_post e depois enche-lo de novo.
Seria isso? Se sim, como fazer isso?
$dados = filtrar_array_por_valor($_POST, 'marcado', 'on');
// trocar o for para for each -> para cada indice da array, faça a inserção.
for( $i = 0; $i <= count( $dados ); $i++ )
{
if ($dados[ $i ] [ 'condicao' ]=="#" )
{
echo '<script>
alert("Posição não foi seleciona. \n Por favor, volte selecione!");
document.location="produto_lista_cadastrar.php?acao=mostra_produtos&id_fornece='.$id_fornece.'";
</script>';
break;
}
if( !empty( $dados[ $i ] [ 'id_prod' ] ) )
{
$Query = sprintf( 'SELECT id FROM produtos WHERE id = %d', $dados[ $i ] [ 'id_prod' ] );
$R_Query = $MySQL->query( $Query );
if( mysql_num_rows( $R_Query ) > 0 )
{
$preco_calculado = (($dados[ $i ] [ 'novo_imposto' ] * $dados[ $i ] [ 'novo_preco' ]) / 100 ) + $dados[ $i ] [ 'novo_preco' ];
$MeuCarrinho->AdicionarItem( $dados[ $i ] [ 'id_prod' ], 1 , $dados[ $i ] [ 'novo_imposto' ], $preco_calculado, $dados[ $i ] [ 'condicao' ] );
}
}
}
/* delete($dados);
$dados= array();
print_r($dados);
*/ }
Pergunta
Carlos Rocha
Ola pessoal.
Tenho o código abaixo de um carrinho de compras.
Quando o cliente marca varios produtos e envia todos, eu crio uma matriz de filtro para saber o valor do campo name="marcado" que é uma checkbox de cada produto que o $_post do form enviou.
Dai eu filtro o array $_post por valor de marcado=On e com os produtos enviados marcado=On, eu faço uma matriz $dados.
Depois, eu jogo essa matriz para o carrinho propriamente dito.
O meu problema é que, caso o cliente marque 3 produtos e depois ele decida voltar e marcar outro produto, o array dados não envia esse outro.
O que eu devo fazer para resolver isso?
Acho que devo ao final do lançamento no carrinho zerar o array $_post e depois enche-lo de novo.
Seria isso? Se sim, como fazer isso?
Editado por Carlos RochaLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.