Ir para conteúdo

Arquivado

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

Rafael Ricardo

Retornar dados de mais de uma tabela.

Recommended Posts

Pessoal, estou precisando saber como se faz uma consulta mestre detalhe, acho que é assim que se chama. Procurei em vários tópicos e até aencontrei alguns posts mas não consegui adaptar para o que eu quero e deve ser bem simples para quem já fez. É o seguinte:

 

Tenho uma tabela chamada "categorias" apenas com dois campos: "id_cat" e "nome_categoria",

outra tabela chamada "frutas" com os campos "id_fruta" e "nome_fruta", outra tabela chamada "clientes" com os campos "id_cliente" e "nome_cliente e por último a tabela "pedidos" com os campos "id_pedido", "id_cliente", "id_cat" e "id_fruta". Abaixo um exemplo visual das tabelas com os dados já inseridos:

 

dvidaforumtabelasmestre.jpg

 

Agora minha dúvida é: supondo que tenho esses dados armazenados em minhas tabealas do MySQL, como faço uma query para mostrar o resultado abaixo:

 

dvidaforumtabelasmestre.jpg

 

Eu uso o framework Codeigniter e seria ótimo se algum usuário desse famework compartilhasse um modo de fazer isso com o Active Record, mas se você não usa o codeigniter mas sabe como montar a lógica da consulta com join ou seja lá o que for, pode explicar ou mostrar um exemplo no PHP puro mesmo que eu consigo fazer uma adaptação para o codeigniter. Agradeço imensamente quem puder ajudar e a quem não puder também, acredito que isso seja uma consulta bem rotineira em muitos sistemas em PHP mas no momento estou com um branco danado e o tempo está muito curto. Lembrando que não preciso mostrar apenas um resultado mas todos os resultados da Tabela Pedidos com os nomes de seus respectivos IDs. Não desenhei mas pode imaginar uma coluna na tabela PEDIDOS chamada "status" com valores "0" ou "1" e realizar a consulta apenas dos pedidos com "status" = "1". Vai me dizer que a minha dúvida aqui não ficou um ótimo exercício para quem dá aula de programação para iniciantes? rsrsr

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado Shini, estava na minha cara a resposta!

 

Vi o seu link e ficou assim pra mim:

 

function busca_pedidos() {

        $this->db->select('*');
        $this->db->from('frutas');
        $this->db->from('clientes');

        $this->db->from('categorias');
        $this->db->join('pedidos', 'pedidos.id_cliente = clientes.id_cliente and 
                        pedidos.id_cat = categorias.id_cat and pedidos.id_fruta = frutas.id_fruta');

        $query = $this->db->get();
        return $query->result();
        
    }

Funcionou perfeitamente! Obrigado mais uma vez!

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.