Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal Preciso de Ajuda e o seguinte:
TENHO AS SEGUINTES TABELAS
TABELA
pedidos_cliente
CAMPOS
idPedidoCliente
valorTotal
-------------------------
TABELA
pedidos
CAMPOS
id_pedido
id_produto
quantidade
----------------------
TABELA
produtos
CAMPOS
id_produto
nome
preco
-------------------
TENHO O SEGUINTE FORMULARIO NO FECHAMENTO DO PEDIDO - CARRINHO PROPRIO DA MINHA LOJA
PRECISO FAZER UMA CONSULTA COM AS TABELAS ACIMA PARA MONTAR O CARRINHO COM OS ITENS DO PEDIDO.
<form target="pagseguro" action="https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx" method="post">
<input type="hidden" name="email_cobranca" value="atendimento@liquidaalagoas.com.br" />
<input type="hidden" name="tipo" value="CP" />
<input type="hidden" name="moeda" value="BRL" />
<?
$sql = "SELECT * FROM pedidos_cliente WHERE idPedidoCliente = '$codigoPedido'";
$rs = mysql_query($sql,$conexao);
$reg = mysql_fetch_array($rs);
$total_itens = mysql_num_rows($rs);
$contador=1;
while ($reg = mysql_fetch_array($rs)){
?>
<input type='hidden' name='item_id_".$contador."' value='<? $reg['id']?>'/>
<input type='hidden' name='item_descr_".$contador."' value='<? $reg['nome']?>' />
<input type='hidden' name='item_quant_".$contador."' value='<? $reg['qt']?>'/>
<input type='hidden' name='item_valor_".$contador."' value='<? $reg['preco']?>'/>
<input type='hidden' name='item_frete_".$contador."' value='0' />
<input type='hidden' name='peso' value='0' />
<?php
$contador++;
}
?>
<input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/pagamentos/99x61-pagar-assina.gif" name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!" />
</form>
QUERO ENVIAR ASSIM PARA O PAGSEGURO
IDITEM - NOME - QTD - VALOR - TOTAL
25 CD-ROM 2 - 500 - 1000
26 DVD 1 - 200 - 200
QUEM PUDER AJUDAR A MONTAR A SQL AGRADEÇO MUITO
>
tá faltando campo, pois como você vai registrar de quem foi os pedidos? Coloque o ID do cliente na table pedido_cliente. depois pode fazer assim:
SELECT *
FROM pedidos_cliente as pc
JOIN pedidos as p ON pc.idPedidoCliente = p.id_pedido
JOIN produtos as po ON po.id_produto = p.id_produto
WHERE pc.id_cliente = '$id_cliente';
Nesse caso vai retornar todos os campos das tabelas, mas aí você faz: pc.id_cliente, po.id_produto, etc... pra retornar somente os campos que queres... Agora tem um detalhe se você vai ter muitos registros pra consultar, tipo tabelas com mais de 50, 100.000 registros é mais rápido com where, no lugar de JOIN.
Vou testar aqui, valew!
Pessoal fiz assim:
<form target="pagseguro" action="https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx" method="post">
<input type="hidden" name="email_cobranca" value="atendimento@liquidaalagoas.com.br" />
<input type="hidden" name="tipo" value="CP" />
<input type="hidden" name="moeda" value="BRL" />
<?
require_once("connections/conexao.php");
$sql = "SELECT PC.idPedidoCliente,
PC.idCliente,
C.nome_razao,
P.ID_PRODUTO,
P.QUANTIDADE,
Prod.nome,
Prod.preco
FROM pedidos_cliente PC
LEFT OUTER JOIN pedidos P ON P.ID_PEDIDO = PC.idPedidoCliente
LEFT OUTER JOIN produtos Prod ON Prod.idProduto = P.ID_PRODUTO
LEFT OUTER JOIN clientes C ON C.idCliente = PC.idCliente
WHERE PC.idPedidoCliente = '$codigoPedido' AND ".$_SESSION["idCliente"]."'";
$resultado = mysql_query($sql) or die ("Nao foi possível realizar a consulta!!!");
$contador=1;
while($array_result=mysql_fetch_array($resultado)){
$id_produto = $reg['ID_PRODUTO'];
$nome_produto = $reg['nome'];
$qtd = $reg['quantidade'];
$preco = $linha['preco'];
?>
<input type='hidden' name='item_id_".$contador."' value='<? echo $id_produto;?>'/>
<input type='hidden' name='item_descr_".$contador."' value='<? echo $nome_produto;?>' />
<input type='hidden' name='item_quant_".$contador."' value='<? echo $qtd;?>'/>
<input type='hidden' name='item_valor_".$contador."' value='<? echo $preco;?>'/>
<input type='hidden' name='item_frete_".$contador."' value='0' />
<input type='hidden' name='peso' value='0' />
<?php
$contador++;
}
?>
<input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/pagamentos/99x61-pagar-assina.gif" name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!" />
</form>
está dando esse erro:
Nao foi possível realizar a consulta
o problema está aqui: WHERE PC.idPedidoCliente = '$codigoPedido' AND ".$_SESSION["idCliente"]."'";
o certo seria: WHERE PC.idPedidoCliente = '$codigoPedido' AND PC.idCliente = ".$_SESSION["idCliente"]."'";
tá faltando campo, pois como você vai registrar de quem foi os pedidos? Coloque o ID do cliente na table pedido_cliente. depois pode fazer assim:
JOIN pedidos as p ON pc.idPedidoCliente = p.id_pedido JOIN produtos as po ON po.id_produto = p.id_produto WHERE pc.id_cliente = '$id_cliente';Nesse caso vai retornar todos os campos das tabelas, mas aí você faz: pc.id_cliente, po.id_produto, etc... pra retornar somente os campos que queres... Agora tem um detalhe se você vai ter muitos registros pra consultar, tipo tabelas com mais de 50, 100.000 registros é mais rápido com where, no lugar de JOIN.