Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andersonseifert

Adicionar Produto carrinho

Recommended Posts

Boa tarde, galera tenho uma classe bebidas.php so que quando clico em comprar

nao esta adicionando os produtos no meu carrinho somente a classe pizzas.php que esta,

como faço para adicionar os produtos que la estao na minha classe carrinho.

 

bebidas.php

http://pastebin.com/CNUU6sAz

 

pizzas.php

http://pastebin.com/0YeWQuNN

 

carrinho.php

http://pastebin.com/JppSZFHt

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá andersonseifert, blz?

 

Cara, acho que vc deve dar uma olhada em como está adicionando as coisas no carrinho!

Em ambas as classes, bebidas.php e pizzas.php vc passa a url home.php?p=10&acao=add&id={$ln['id']}!

O que diferencia bebidas de pizzas? E se na sua tabela existirem IDs de pizza e bebida com o mesmo valor?

 

Exemplo:

1 - Pizza de Calabreza;

2 - Pizza de Queijo;

3 - Pizza Napolitana.

 

1 - Cerveja;

2 - Refrigerante;

3 - Suco.

 

E na hr de verificar se é pra adicionar ou ñ no carrinho, vc usa:

 

//ADICIONAR CARRINHO
if ($_GET['acao'] == 'add') {
	$id = intval($_GET['id']);
	if (!isset($_SESSION['carrinho'][$id]))
		$_SESSION['carrinho'][$id] = 1;
	else
		$_SESSION['carrinho'][$id] += 1;
}

 

Acredito que o erro esteja aí!

 

Dê uma olhada certinho se vc ñ esqueceu de passar nada pra diferenciar.

 

Qualquer coisa poste novamente q damos uma força! =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa amigao obrigado pela ajuda, entao o que posso fazer para diferenciar ?

adicionar outro metodo sera que resolvo ?

 

//ADICIONAR CARRINHO
if ($_GET['acao'] == 'add') {
	$id = intval($_GET['id']);
	if (!isset($_SESSION['carrinho'][$id]))
		$_SESSION['carrinho'][$id] = 1;
	else
		$_SESSION['carrinho'][$id] += 1;
}


Eu tenho uma Table bebidas e outras Pizzas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sugiro uma mudança na tabela e uma tabela unica chamada produtos para facilitar.

 

ID Unico do Produto | Categoria | Nome | Descrição | (outros)

 

aí quando vc adicionar ou listar os produtos vc pode ter um código mais organizado e irá facilitar muito para vc

e utilizar o UNIQUE do SQL no ID de produto assim, o ID será gerado automaticamente, para evitar quaisquer conflitos

 

 

exemplo:

Adicionar a tabela: site.com/add.php?produto=calabresa&categoria=pizzas

 

PS: Pesquise sobre mysqli para garantir o código de seus banco de dados, já que talvez no futuro mysql não seja suportado nas futuras versões do PHP...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ave maria se eu tivesse pensado nisso antes, obrigado .

entendi, mas como que faço pra dar um select so nas categoria bebidas , ?

 

<?php
$link = mysql_connect("localhost", "root", "");
if (!$link)
    die(utf8_decode('conexao com o banco de dados não pode ser aberta'));
else
    $db = mysql_select_db("pizza");

$sql = "SELECT * FROM PRODUTOS where ativo='1'";
$qr = mysql_query($sql);
$num = mysql_num_rows($qr);

if ($num > 0) {
    while ($ln = mysql_fetch_assoc($qr)) {
        echo'<div id="grid-bebida">';
        echo '<div id="img-bebida"><img id="imgbeb"  src="geral/images/' . $ln['imagem'] . '" /> </div><br/>';

        echo '<div id="nome-bebida"><h3>' . $ln['nome'] . '</h3> </div><br/><br/>';

        echo '<div id="descricao-bebida">' . $ln['descricao'] . '</div><br/>';

        echo '<div id="preco-bebida">Preco : R$ ' . number_format($ln['preco'], 2, ',', '.') . '</div><br/>';

        echo'<div id="comp-bebida">';
        echo'<button><i class="icon-shopping-cart"></i> ';
        echo "<a  href='home.php?p=10&acao=add&id={$ln['id']}'>Comprar</a>";
        echo'</button';
        echo'</div>';

        echo'</div>';
    }
} else
    echo 'Não tem produtos !!';
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql = "SELECT * FROM PRODUTOS where  ativo='1' AND categoria='bebida' ";

 

Obs.:

Evite colocar asterísticos '*' em seus "SELECT", pois isso poderá dar problemas futuros para as sus aplicações se caso desejar inserir mais campos em suas tabelas.

 

Não é bom: SELECT * FROM tabela WHERE....

 

Boa prática: SELECT campo1, campo2, campo3 FROM tabela WHERE...

Compartilhar este post


Link para o post
Compartilhar em outros sites

De nada, foi minha volta ao fórum, tava inativa a uns meses ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.