Ir para conteúdo

POWERED BY:

Arquivado

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

ro_wagner

[Resolvido] Consulta Mysql

Recommended Posts

Ola!

 

Estou postando essa duvida novamente porque ainda nao conssegui chegar no resultado desejado.

 

Seguinte .. Tenho uma tabela de produtos e outra de categorias

 

Ate o momento conssegui fazer isso:

 

$sql = " SELECT * FROM produtos p INNER JOIN prod_grupos g ON (p.id = g.id_prod ) ";

 

Ate aqui tudo bem, soh que me tras os produtos de todas categorias

 

como faco para usar um 'WHERE' que me traga apenas os resultados da categoria desejada.

 

algo do tipo WHERE tabProdutos = tabCategorias = CategoriaDesejada

 

Preciso mto mesmo deste help!

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você quer um Where precisa de um ponto de referencia.

 

Provavelmente o produto que você quer vem por um método POST em uma variável.... Seja o nome do produto ou o Id. Digamos que seja o ID

 

 

 

$pID = $_POST['idDoProduto'];


$sql = " SELECT * FROM produtos p INNER JOIN prod_grupos g ON (p.id = g.id_prod ) where p.id == '$pID' " ; 
// Traduzindo fica - Selecionar todos os produtos da tabela produtos p, e da tabela prod_grupos os produtos
// que tem o g.id_prod iguais aos p.id do que está sendo selecionado na tabela produtos p (que é tudo se 
//n tiver o where)............. PS. Eu só n sei se põe o where dps de : 
//select * from produtos p, ou se põe igual eu coloquei no fim do comando.

 

lembrado que mesmo com o where todos os dados do mysql são enviados a você e ai você que separa os que você quer com o where, ou seja você traz todos os dados de qualquer forma portanto pode gerar delay. É bom criar uma procedure q ai o banco de dados só e envia os dados necessários

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade nao eh isso nao.

 

Preciso mostrar todos os produtos da categoria e nao um soh.

 

Por exemplo

$categoria = 100;

acao = retornar todos os produtos desta categoria.

ou seja,

- consultar a tabela categorias onde id_cat = 100

- retorna todos os id_produto da categoria desejada e busca na tabela produtos

 

Desculpe nao saber me explicar mto bem, eh que realmente nao estou consseguindo mesmo.

 

Ah..

a Tabela Categorias serve apenas para o relacionamento, guarda o id_produto e id_categoria.

 

Vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por que Categoria não pode ser um campo da tabela produtos?

 

Se for seria mto mais fácil, seria apenas

 

select * from produtos where categoria == "100";

Compartilhar este post


Link para o post
Compartilhar em outros sites

A forma atual eh esta mesmo, soh que existem produtos que terao mais de uma categoria.

 

Vou continuar tentando.

 

Obrigado!

 

RESOLVIDO

 

Consegui da seguinte forma;

 

$sql_lista = " SELECT * FROM prod_grupos g INNER JOIN produtos p ON (p.id = g.id_prod ) WHERE id_grupo = '654' AND status = 'S' ";

 

Ficou perfeito, tenho acesso as duas tabelas tranquilo. O ideal eh o nome dos campos serem diferentes.

 

Fica a dica pra quem passar por esse problema.

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.