Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera fui seguindo um video que ensina a cria carrinho de compra, só que no video já vai com a quantidade = 1, eu queria personaliza e colocar no produto um campo pra colocar quantos de quantidade quiser, acessa o site para ver o código:
ai no form na parte do input, ficaria assim ou nao :
<input type="text" name="qtd[<?php echo $qtd; ?>]" value="1" size="3" maxlength="3" />o codigo do carrinho ta assim:
<?php
if(count($_SESSION['venda']) == 0){
echo '<tr><td colspan="5" class="center top-5">Não há produto no carrinho</td></tr>';
}else{
foreach($_SESSION['venda'] as $Prod => $qtd):
mysql_select_db($database_restaurante, $restaurante);
$query_F_contas_receber = ("(SELECT * FROM site_tamanho WHERE id = '$Prod') UNION (SELECT * FROM site_bebidas WHERE id = '$Prod') UNION (SELECT * FROM site_mistura WHERE id = '$Prod')");
$F_contas_receber = mysql_query($query_F_contas_receber, $restaurante) or die(mysql_error());
$ResAssoc = mysql_fetch_assoc($F_contas_receber);
$totalRows_F_contas_receber = mysql_num_rows($F_contas_receber);
$Total += $ResAssoc['preco'] * $qtd;
echo '<tr>';
echo '<td class="col-sm-8 col-md-6">';
echo '<div class="media">';
echo '<div class="media-body">';
echo '<h4 class="media-heading top-5"><a href="#">'.$ResAssoc['nome'].'</a></h4>';
echo '</div>';
echo '</div>';
echo '</td>';
echo '<td class="col-sm-1 col-md-1" style="text-align: center">';
echo '<input type="text" class="text-center" name="quantidade" value="'.$qtd.'" size="3" />';
echo '</td>';
echo '<td class="col-sm-1 col-md-1 text-center"><strong>R$ '.number_format($ResAssoc['preco'],2,",",".").'</strong></td>';
echo '<td class="col-sm-1 col-md-1 text-center"><strong>R$ '.number_format($ResAssoc['preco'] * $qtd,2,",",".").'</strong></td>';
echo '<td class="col-sm-1 col-md-1">';
echo '<a href="fazer_pedido_1.php?id_dia='.$row_Prato_Principal['id'].'&id_cliente='.$_SESSION['kt_login_id'].'&del='.$ResAssoc['id'].'"><button type="button" class="btn btn-danger ladda-button" data-style="zoom-out"><span class="ladda-label glyphicon glyphicon-remove"></span></button></a></td>';
echo '</tr>';
endforeach;
?>Fiz meio rapidão aqui para você entender a logica!
ADICIONA ITEM AO CARRINHO
if ($_GET['acao'] == 'adicionar') {
if (!isset($_SESSION['carrinho'])) {
$_SESSION['carrinho'] = array();
}
if (!isset($_SESSION['carrinho'][$id_produto])) {
$_SESSION['carrinho'][$id_produto] = 1;
}
}
REMOVE DO CARRINHO
if ($_GET['acao'] == 'remover') {
if (isset($_SESSION['carrinho'][$id_produto])) {
unset($_SESSION['carrinho'][$id_produto]);
}
}
ALTERAR QUANTIDADE E CALCULA NOVAMENTE
if ($_GET['acao'] == 'recalcular') {
if (isset($_POST['prod'])) {
if (is_array($_POST['prod'])) {
foreach ($_POST['prod'] as $id_produto => $qtd) {
$id_produto = intval($id_produto);
$qtd = intval($qtd);
if (!empty($qtd) || $qtd <> 0) {
$_SESSION['carrinho'][$id_produto] = $qtd;
} else {
unset($_SESSION['carrinho'][$id_produto]);
}
}
}
}
}
ATUALIZAR
if($_GET['acao'] == 'atualizar'){
if (isset($_GET['prod'])) {
if (is_array($_GET['prod'])) {
foreach ($_GET['prod'] as $id => $qtd) {
$id = intval($id);
$qtd = intval($qtd);
if (!empty($qtd) || $qtd <> 0) {
$_SESSION['carrinho'][$id] = $qtd;
} else {
unset($_SESSION['carrinho'][$id]);
}
}
}
}
}
PARA PERCORRER O ARRAY E MONTAR O LOOP
foreach($_SESSION['carrinho'] as $id_produto => $qtd)
{
....
DENTRO DO LOOP
<input type="text" name="prod[<?php echo $id_produto; ?>]" value="<?php $qtd; ?>" size="3" maxlength="3" />
E o
$id_produto
e o passado por GET no ADD, ou seja pela URL, e nos demais o do Form
Tutorial com DB
https://www.codeofaninja.com/2013/04/shopping-cart-in-php.html
hehe, pegou cara, vlw mesmo
mais viu e se colocar um input de QUANTIDADE do lado do botão COMPRAR, tipo quero 10 desse produto ai clico em comprar, ai vai aparece 10 no carrinho, como que ficaria?
if ($_GET['acao'] == 'adicionar') {
if (!isset($_SESSION['carrinho'])) {
$_SESSION['carrinho'] = array();
}
if (!isset($_SESSION['carrinho'][$id_produto])) {
$_SESSION['carrinho'][$id_produto] = 1; //Recupere o valor e troque o valor estático 1, pelo dinâmico, simples não acha?
}
}ahh hehe fecho, vlw mesmo
Se já existir item no carrinho, é só somar com o que já tem, pegando a quantidade passado pelo form
$_SESSION['venda'][$Produto] += $qtde;
Poste o código aqui mesmo. ;)