Ir para conteúdo

POWERED BY:

Arquivado

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

C Alves

problemas com Uniao de tabelas - inner join

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A query do #1 parece correta, já rodou a query direto no Banco ?

 

Pode ser um problema na camada de interface

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 />";

}

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.