z5coyote 0 Denunciar post Postado Outubro 9, 2015 Olá eu tenho varias tabelas de produtos exemplo tabela produtoX id nome fotos catid tabela produtoY id nome fotos catid entao criei uma pagina de busca com a consulta e pego os resultados .. até ai tudo certo .. mas eu tenho alguns produtos que uso com o mesmo cat_id ex : 1 - notebook - foto.jpg 1 2 - notebook - foto2.jpg 1 3 - notebook - foto3.jpg 1 ai vem minha pergunta como eu crio a consulta que pega os registros com o mesmo cat_id na mesma consulta de pesquisa ? espero que tenha ficado claro !! Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Outubro 9, 2015 cada produto tem uma tabela??? Melhor rever isso :D Compartilhar este post Link para o post Compartilhar em outros sites
LandersonAlmeida 31 Denunciar post Postado Outubro 9, 2015 Realmente melhor rever hehe :P mas no seu caso você poderia usar inner join, não sei se iria dar certo mas não custa tentar: SELECT * FROM `produtoX` INNER JOIN `produtoY` ON `produtoX`.catid = `produtoY`.catid WHERE `produtoX`.catid LIKE '%1%' Compartilhar este post Link para o post Compartilhar em outros sites
z5coyote 0 Denunciar post Postado Outubro 9, 2015 no meu caso divido entre Categorias como Celulares -1 , Carteiras - 2 sao poucos entao sem problemas. Bom minha consulta atual esta $selec = "select catid,nome,file,coment,valor,cat,id FROM carteiras WHERE coment LIKE '%" .($Pbusca)."%' OR nome LIKE '%" .($Pbusca)."%' group by catid2 UNION select catid,nome,file,coment,valor,cat,id FROM celulares WHERE coment LIKE '%" .$Pbusca."%' group by catid2 feito isso listo os produtos da pesquisa corretamente .. mais tenho mais produtos que contem o mesmo cat_id que eu gostaria de pegar somente as fotos desses outros produtos, ou seja tenho 1 produto que foi cadastrado 3x alterando o valor e a foto e eu gostaria de listar essas fotos tbm e os valores apenas ! Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Outubro 9, 2015 SELECT * FROM suaTabela WHERE cat_id = $variavel; Compartilhar este post Link para o post Compartilhar em outros sites
z5coyote 0 Denunciar post Postado Outubro 9, 2015 veja a edição acima Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Outubro 9, 2015 Juro que não entendi mais.. disse que eram tabelas, depois disse que eram colunas.. agora tem uma query com consulta em 2 tabelas... qual a ideia? o que quer fazer? Compartilhar este post Link para o post Compartilhar em outros sites
z5coyote 0 Denunciar post Postado Outubro 9, 2015 $selec = "select catid,nome,file,coment,valor,cat,id FROM carteiras WHERE coment LIKE '%" .($Pbusca)."%' OR nome LIKE '%" .($Pbusca)."%' group by catid2 UNION select catid,nome,file,coment,valor,cat,id FROM celulares WHERE coment LIKE '%" .$Pbusca."%' group by catid2 aqui eu faço a consulta nas duas tabelas certo .. com a minha consulta eu pego o resultado de algumas delas ou somente de uma depende do nome pesquisado etc .. bom acontece que na tabela carteiras ex: eu tenho 3 registro iguais ou seja id - nome - arquivo - descricao - valor - CAT_ID 1 - cateira couro - foto1.jpg - descricao... - 15,00 - 50 2 - cateira couro - foto2.jpg - descricao... - 15,00 - 50 3 - cateira couro - foto3.jpg - descricao... - 15,00 - 50 na minha consulta eu so consigo pegar 1 registro ... com 1 foto e eu gostaria de pegar o primeiro registro da pesquisa juntamente com mais as outras 2 fotos ja que os CAT_IDs sao iguais e as fotos correspondem ao mesmo produto . Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Outubro 9, 2015 por curiosidade... onde você exibe esses registros? para não ter essas repetições, seria interessante vc criar uma tabela que relacione o produto com a foto.. ex: tabelaProdutoFoto id_produto foto 1 foto1.jpg 1 foto2.jpg 1 foto3.jpg Assim, evita repetir os dados como descrição, valor etc. Compartilhar este post Link para o post Compartilhar em outros sites
z5coyote 0 Denunciar post Postado Outubro 9, 2015 em uma pagina de busca normal ... os registros não se repetem esta tudo ok ! esse é um sistema antigo foi trabalho rápido por isso e meio enrolado :) . eu gostaria que através daquela mesma consulta acima eu conseguisse pegar as outras 2 fotos dos produtos que estão com a mesma catid na mesma tabela como explicado . alguma ideia ? Compartilhar este post Link para o post Compartilhar em outros sites
z5coyote 0 Denunciar post Postado Outubro 9, 2015 $selec = "select catid,nome,file,coment,valor,cat,id FROM carteiras WHERE coment LIKE '%" .($Pbusca)."%' OR nome LIKE '%" .($Pbusca)."%' UNION select catid,nome,file,coment,valor,cat,id FROM celulares WHERE coment LIKE '%" .$Pbusca."%' retirando o group by catid2 da consulta ele me retorna os registro que eu preciso os que estao com o mesmo catid agora quando eu listo eles aparecem duplicados ... como eu exibo somente 1 registro e guardo os dados dos outros dois registros repetido em uma string ? Compartilhar este post Link para o post Compartilhar em outros sites
Helmesvs 10 Denunciar post Postado Outubro 10, 2015 Amigo se essas fotos são referentes ao mesmo produto não tem o porq colocar em linhas diferentes. Coloque na mesma linha que sera mais viavel e ate mais facil pra vc. Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Outubro 10, 2015 O problema seria mensurar a quantidade de fotos que um produto pode ter. Se for um limite fixo de 3 fotos, não tem problemas :) Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 10, 2015 100% do problema é a modelagem precária do banco de dados se não arrumar isso agora, só vai criar mais e mais problemas Dizer que são poucos produtos não justifica. Aliás, se você já começa um negócio pensando que ele não vai crescer, melhor nem começar ;) Pense nisso. Compartilhar este post Link para o post Compartilhar em outros sites