Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) retornando valores


tonzinhu

Pergunta

iae galera, eu denovo hehe,

script

$conn4 = mysql_query("SELECT * FROM pedidos WHERE num_pedido = '$pedido'");
        while($reg4 = mysql_fetch_assoc($conn4)){
            $idprod = $reg4['idproduto'];
        
            //selecionando produtos
        $conn3 = mysql_query("SELECT * FROM estoque WHERE id_produto = '$idprod' ");
        while($reg3 = mysql_fetch_assoc($conn3)){
        
        $nomeproduto = $reg3['nome_produto'];
        
        }
        
        $idprod = $nomeproduto;
        
        
        print $idprod;
    

}
Só que oque acontece, é que são vários produtos, se eu colocar assim:
$conn4 = mysql_query("SELECT * FROM pedidos WHERE num_pedido = '$pedido'");
        while($reg4 = mysql_fetch_assoc($conn4)){
            $idprod = $reg4['idproduto'];

          print $idprod;

ele vai retornar os ids dos produtos (1,2,3)

Só que eu queria usar esses ids pra buscar na tabela de estoque os nomes dos produtos, ou seja,

1 - hd

2 - processador

3 - memoria

No caso teria que ser mais ou menos um array, eu acho, mas tentei de várias formas e só retorna 1 produto.

Gostaria de uma ajuda,

obrigado.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Faça um JOIN na tabela pra pegar os dados de uma vez então...

SELECT e.*,p.* FROM pedidos p
LEFT JOIN estoque e ON e.id = p.id_produto
WHERE p.num_pedido = '$pedido'

Assumi que o que liga uma tabela a outra é a coluna "id" da tabela estoque com a coluna "id_produto" da tabela pedidos

Link para o comentário
Compartilhar em outros sites

  • 0

Isso são "apelidos" pras tabelas, sem os apelidos eu tenho que chamar o nome inteiro da tabela, ai ficaria algo do tipo:

SELECT estoque.*,pedidos.* FROM pedidos LEFT JOIN estoque ON estoque.id = pedidos.id_produto
WHERE pedidos.num_pedido = '$pedido'

O que acaba dificultando e aumentando a probabilidade de um erro.

Link para o comentário
Compartilhar em outros sites

  • 0

entendi, eu coloquei dessa forma:

//selecionando produtos do pedido
        $conn4 = mysql_query("SELECT e.*,p.* FROM pedidos p LEFT JOIN estoque e ON e.id_produto = p.idproduto WHERE p.num_pedido = '$pedido'");
        while($reg4 = mysql_fetch_assoc($conn4)){
            
            //tabela pedidos
            $idprod = $reg4['idproduto'];
            
            //tabela estoque
            $nomeproduto = $reg4['nome_produto'];
        
        print $nome.'<br />';
        
        print $nomeproduto;
        
        }

No primeiro print ele imprime os ids "1,2".

No segundo só imprime o nome de 1 produto, não dos dois.

aqui os print do banco

tabela estoque

estoquekq4.jpg

tabela pedidos

pedidoaw7.jpg

Sinceramente não sei oque está acontecendo de errado.

Se puderem me ajudar agradeço.

vlw

Link para o comentário
Compartilhar em outros sites

  • 0

caracas, esquece tudo o que eu disse, o script tava normal desde o começo aff.

o problema era o id do produto que tava como 5 e não como 2.

Por isso ele só pegava mostrava 1 produto.

Você falando em id q fui notar ali no print.

Vlw ae pela força e desculpa ae hehe.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...