Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, estou fazendo a seguinte consulta:
$consulta= "SELECT ordem_compra.id_ordem_compra,item_ordem_compra.id_item_compra from ordem_compra INNER JOIN item_ordem_compra ON Item_ordem_compra.id_ordem_compra=ordem_compra.id_ordem_compra where ordem_compra.id_ordem_compra='$id_ordem_compra'";
$resultado=mysql_query($consulta);
O problema é que a consulta está trazendo um único registro da tabela de itens e preciso
que traga todos os registros dos itens da ordem de compra pesquisada. Já tentei com left join, right join.
Como resolver esse problema? Se algúem puder me dizer o que fazer agradeço muito.
Roberto, antes de mais nada obrigado pelo seu contato.
Você me disse pra tirar o where da consulta.
Mas acontece o seguinte.
Tenho uma tabela de compras, cada compra com um id.
Também uma tabela de ítens com um campo id_ordem_compra que recebe o id da ordem de compra e um id_item_compra que recebe o id de cada item. Cada compra pode ter um ou mais ítens.
Acontece que de repente tenho 100 ordens de compras e eu preciso pesquisar a ordem número 100, emitida
há uns 2 dias atrás. Essa compra tem uns 5 produtos gravados na tabela de ítens. Aí eu preciso passar como parametro o id da ordem número 100. Em uma pesquisa em um formulário trago todas as ordens de compra, clico
no id_ordem_compra desejado e ele passa esse id como parametro para um outro formulário onde é realizado nova pesquisa pelo parametro passado.<?php echo"<a href='PesqIdOrdemCompra.php?id_ordem_compra=$id_ordem_compra'>$id_ordem_compra
</a>";?>. Antes de fazer com o where tentei também sem o where,mas sem o where como o sistema vai trazer somente a ordem que eu quero?A query do #1 parece correta, já rodou a query direto no Banco ?
Pode ser um problema na camada de interface
Roberto e Motta obrigado pela atenção e ajuda de vocês.
O problema está resolvido. As vezes agente perde o maior tempão pra resolver problemas causados por erros bobos. Olhamos por todos os lados e não vemos erro algum e acreditamos que não é erro nosso.
A consulta que postei acima está correta.
O problema era só o seguinte:
A sequência estava assim:
while($linha=mysql_fetch_assoc($resultado))
{
$id_ordem_compra=$linha["id_ordem_compra"];
$id_item_compra=$linha["id_item_compra"];
}
echo "id da ordem decompra:$id_ordem_compra<p />";
echo "id do item:$id_item_compra<p />";
A consulta funcionava mas só resgatava um registro da tabela de itens.
O que faltava era só fazer assim:
while($linha=mysql_fetch_assoc($resultado))
{
$id_ordem_compra=$linha["id_ordem_compra"];
$id_item_compra=$linha["id_item_compra"];
echo "id da ordem decompra:$id_ordem_compra<p />";
echo "id do item:$id_item_compra<p />";
}
tira o where da sua consulta