Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
e ai pessoal mais uma vez conto com a sabedoria e vocês.
Bom esou criando uma area que vai mostrar o nome e os dados do cliente e em baixo os produtos
por ele comprado.
Bom para isso eu criei um Select com INNER JOIN em 3 tabelas, Cliente, Produto e Carrinho.
mas tem alguma coisa errada no meu select, pois esta mostrando os dados de todos os cliente e os produtos que eles compraram
<?php
$cliente=$_GET['user'];
$situacao='Finalizada';
$sql="SELECT DISTINCT carrinho.*, produto.`valor`, produto.`produto`, cliente.`id_cliente`,cliente.`nome_cli`,cliente.`email_cli`,cliente.`endereco_cli`,cliente.`bairro_cli`,cliente.`telefone_cli`,cliente.`numero_cli`,cliente.`complemento_cli` FROM (`carrinho` INNER JOIN `produto` ON carrinho.`produto_id_produtos` = produto.`id_produtos`) INNER JOIN `cliente` WHERE carrinho.`cliente_id_cliente` = ".$cliente." ORDER BY carrinho.`id_carrinho` ASC";
$query = executaQuery($sql) or die(mysql_error());
while ($compras = mysql_fetch_assoc($query)){
$produto=$compras['produto'];
$quantidade=$compras['quantidade'];
$valor=$compras['valor'];
$sub=$quantidade*$valor;
$nome=$compras['nome_cli'];
$email=$compras['email_cli'];
$bairro=$compras['bairro_cli'];
$endereco=$compras['endereco_cli'];
$telefone=$compras['telefone_cli'];
$nume=$compras['numero_cli'];
$comple=$compras['complemento_cli'];
?>
<tr>
<td>
<?php echo $nome; ?>
</td>
<td>
<?php echo $email ;?>
</td>
<td>
<?php echo $telefone ;?>
</td>
<td>
<?php echo $bairro ;?>
</td>
<td>
<?php echo $endereco ;?>
</td>
<td>
<?php echo $comple ;?>
</td>
<td>
<?php echo $nume ;?>
</td>
</tr>
<tr>
<td>
<b><font size="5">Compras</b></font>
</td>
</tr>
<tr>
<td>
<b>Produto:</b>
</td>
<td>
<b>Quantidade:</b>
</td>
<td>
<b>Preço:</b>
</td>
<td>
<b>Sub-Total:</b>
</td>
</tr>
<tr>
<td><b><?php echo $produto ; ?></b></td>
<td><b><?php echo $quantidade ; ?></b></td>
<td><b><?php echo $valor ; ?></b></td>
<td><b><?php echo $sub ; ?></b></td>
</tr>
</table>
<?php
}
?>
</body>
</html>
se alguem puder me ajudar a resolver esse join fico muito grato.
hum..
pois é desse jeito que tu comentou seria muito mais pratico. Mas
eu queria usa apenas uma consulta.
caso não tenha como. farei do modo que tu comentou.
bom gurizada, to usando o JOIN assim, mas ta dando erro.
=/
#1054 - Unknown column 'Finalizada' in 'where clause'
$compras="SELECT DISTINCT FROM carrinho INNER JOIN produto ON produto.produto=carrinho.produto_id_produtos WHERE Carrinho.cliente_id_cliente = ".$cliente." AND Carrinho.situacao = ".$situacao." ";
Fico grato com qualquer ajuda.
cara nao sei como esta a estrutura da tuas tabelas, vou te dar um exemplo aki, e ve se da uma luz pra ti
cliente
->id
->nome
produto
->id
->descricao
->preco
carrinho
->id
->id_cliente (fk cliente)
->id_produto (fk produto)
->qtd
->status
select c.,p.,car.* from carrinho car join produto p on p.id=car.id_produto join cliente c on c.id=car.id_cliente where car.status='FINALIZADO' and car.id_cliente='$cliente'
seria + ou - isso
no
Valeu.
funcionou.(Y)
Obrigadão e um Bom Começo de ANO para todos
Cara eu faria esse join diferente, como você tem 3 tabelas, e quer fazer tipo um "master/detail", primeiro você faria uma consulta pra pegar apenas os dados do cliente
//exemplificando
depois você faria o join entre produto e carrinho relacionado com o ID do cliente, as querys ficariam mais simples e de mais facil compreenção.