Estou com um probleminha aqui qe está me tirando os cabelos, é o seguinte, meu cliente vende sandálias, então a pessoa tem que escolher o tamanho da sandália que ela quer comprar. Até ai tudo bem está funcionando blz.
Só que se a pessoa colocar 5 itens no carrinho o certo seria cada um ter o tamanho escolhido, só que no meu caso aqui não está acontecendo isso não, todos os produtos do carrinho ficam com o mesmo tamanho, no caso do último item adc no carrinho.
esta funcionando desse jeito aqui:
aqui o form para a pessoa escolher o tamanho e enviar pro carrinho:
<form action="carrinho&acao=add&id=<?php echo $dados['id'] ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
<?php
for( $i = $dados['detamanho'] ; $i <= $dados['atamanho'] ; ++ $i )
printf( '%d<input type="radio" name="numero" value="%d"> ' , $i , $i );
//esse $tamanho está puxando da página anterior para mostrar o nº escolhido.
$tamanho = isset($_POST['numero']) ? $_POST['numero'] : false;
?>
<input type="submit" value="Colocar na Sacola" name="submitForm" />
</form>
e aqui o carrinho de compras:
<title>Carrinho de Compras</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<?php
//esse $tamanho está puxando da página anterior para mostrar o nº escolhido.
$tamanho = isset($_POST['numero']) ? $_POST['numero'] : false;
if( isset( $tamanho ) == 0){
echo '<script>alert("Escolha um tamanho")</script>';
echo '<script>history.go(-1);</script>';
}else
echo 'Número escolhido: ' , $tamanho ;
?>
<?php
session_start();
if(!isset($_SESSION['carrinho'])){
$_SESSION['carrinho'] = array();
}
//adiciona produto
if(isset($_GET['acao'])){
//ADICIONAR CARRINHO
if($_GET['acao'] == 'add'){
$id = intval($_GET['id']);
if(!isset($_SESSION['carrinho'][$id])){
$_SESSION['carrinho'][$id] = 1;
}else{
$_SESSION['carrinho'][$id] += 1;
}
}
//REMOVER CARRINHO
if($_GET['acao'] == 'del'){
$id = intval($_GET['id']);
if(isset($_SESSION['carrinho'][$id])){
unset($_SESSION['carrinho'][$id]);
}
}
//ALTERAR QUANTIDADE
//Se existir $_POST['prod'] então começa..
if( isset( $_POST['prod'] ) )
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]);
}
}
}
}
}
?>
<?php
$i = 1;
if(!isset($_SESSION))
{
session_start();
}
if(!isset($_SESSION['carrinho'])){
$_SESSION['carrinho'] = array();
}
if(count($_SESSION['carrinho']) == 0){
'Carrinho vazio.';
}else{
require("conexao.php");
$peso = 0;
$total = 0;
$form = '';//iniciando a variavel
foreach($_SESSION['carrinho'] as $id => $qtd){
$sql = "SELECT * FROM novidades WHERE id= '$id'";
$qr = mysql_query($sql) or die(mysql_error());
$ln = mysql_fetch_assoc($qr);
$nome = $ln['nome'];
$preco = $ln['preco'];
$sub = number_format($ln['preco'] * $qtd, 2, ',', '.');
$opreco = $ln['preco'];
$total += $ln['preco'] * $qtd;
$peso = $ln['peso'];
$frete = 0;
$aid = $ln['id'];
$form .= '
<input type="hidden" name="item_id_' . $i . '" value="'.$aid.'">
<input type="hidden" name="item_descr_' . $i . '" value="'.$nome.'">
<input type="hidden" name="item_quant_' . $i . '" value="'.$qtd.'">
<input type="hidden" name="item_valor_' . $i . '" value="'.$opreco.'">
<input type="hidden" name="item_frete_' . $i . '" value="'.$frete.'">
<input type="hidden" name="item_peso_' . $i . '" value="'.$peso.'">';
$i++;
}
$total = number_format($total, 2, ',', '.');
}
?>
<table>
<caption>Carrinho de Compras</caption>
<thead>
<tr>
<th width="244" bgcolor="#0099FF">Produto</th>
<th width="79" bgcolor="#0099FF">Quantidade</th>
<th width="200" bgcolor="#0099FF">Valor Unitário</th>
<th width="100" bgcolor="#0099FF">SubTotal</th>
<th width="64" bgcolor="#0099FF">Remover</th>
</tr>
</thead>
<form action="carrinho&acao=add&id=<?php echo $ln['id'] ?>&acao=up" method="post">
<tfoot>
<tr>
<td colspan="5"><input type="submit" value="Atualizar Carrinho" /></td>
<tr>
</tfoot>
<tbody>
<?php
if(count($_SESSION['carrinho']) == 0){
echo '<tr><td colspan="5">Carrinho vazio.</td></tr>';
}else{
require("conexao.php");
$total = 0;
foreach($_SESSION['carrinho'] as $id => $qtd){
$sql = "SELECT * FROM novidades WHERE id= '$id'";
$qr = mysql_query($sql) or die(mysql_error());
$ln = mysql_fetch_assoc($qr);
$nome = $ln['nome'];
$preco = $ln['preco'];
$sub = number_format($ln['preco'] * $qtd, 2, ',', '.');
$total += $ln['preco'] * $qtd;
echo '<tr align="center">
<td>'.$nome.' '.$_POST['numero'].'</td>
<td><input type="hidden" name="prod['.$id.']" value="'.$tamanho.'" />
<input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td>
<td>R$ '.$preco.'</td>
<td>R$ '.$sub.'</td>
<td><a href="carrinho&acao=add&id='.$ln['id'].'&acao=del&id='.$id.'">Remove</a></td>
</tr>';
}
$total = number_format($total, 2, ',', '.');
echo '<tr align="right" bgcolor="#CCCCCC">
<td colspan="4">Total</td>
<td width="100">R$ '.$total.'</td>
</tr>';
}
?>
</tbody>
</form>
</table>
Se alguém souber e puder me ajudar fico agradecido.
Abçs.



Postagens
Male
