ddlightw 0 Denunciar post Postado Novembro 26, 2009 Gostaria de saber se é correto montar uma tabela desse jeito, senão qual a melhor maneira de relacionar a tabela das imagem com a tabela dos imóveis: Uma tabela para os imóveis com as imagens: CREATE TABLE IF NOT EXISTS `imoveis_tb` ( `id_imovel` bigint(20) NOT NULL, -----------------> qual o tipo mais indicado? `tipo` char(30) NOT NULL, ------------------------> tem tabela independente `data_incl` char(10) NOT NULL, `negocios` varchar(40) NOT NULL,------------------------> tem tabela independente `foto` char(10) NOT NULL, `foto1` char(100) NOT NULL, `foto2` char(100) NOT NULL, `foto3` char(100) NOT NULL, `foto4` char(100) NOT NULL, `foto5` char(100) NOT NULL, `zona` varchar(15) NOT NULL,------------------------> tem tabela independente `bairro` varchar(40) NOT NULL,------------------------> tem tabela independente `dorm` varchar(15) NOT NULL, ------------------------> tem tabela independente `detalhes_imovel` text NOT NULL, `valor_imovel` float NOT NULL, `destaque` enum('sim','nao') NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; As imagens são cadastradas através de formulário junto com as informações do imóvel, mas não sou eu que vou cadastrar, por isso estou perguntou para não ter problemas de cadastro da imagem. Ex: http://maresiasimove...896&transacao=0 Compartilhar este post Link para o post Compartilhar em outros sites
ddlightw 0 Denunciar post Postado Dezembro 2, 2009 Reformulando a pergunta: As imagens serão cadastradas através de um formulário, a imagem é cadastrada junto com a identificação do imóvel. Na página PHP faço uma consulta sql e no lugar da imagem coloco o caminho/imagem do banco de dados. Criando uma tabela separada para a imagem principal e a minitura, é só fazer INNER JOIN da tabela dos imoveis com a tabela das imagens através do id na consulta sql? Tabela Imagem id imagem imagem miniatura imagem1 miniatura1 imagem2 miniatura2 imagem3 miniatura3 imagem4 miniatura4 imagem5 miniatura5 Tabela imovel id imovel id imagem Estou perguntando antes de mudar tudo. Compartilhar este post Link para o post Compartilhar em outros sites
h4v3st 1 Denunciar post Postado Dezembro 2, 2009 Olá, o correto é você relacionar tabelas. No caso relacionando as tabelas: Tabela imoveis id_imovel id_imagem Tabela imagens id_imagem miniatura imagem -> Para relacionar as duas tabelas: alter table imoveis add foreign key (id_imagem) references imagens(id_imagem); Qualquer dúvida poste por favor.. Compartilhar este post Link para o post Compartilhar em outros sites
ddlightw 0 Denunciar post Postado Dezembro 2, 2009 Olá, o correto é você relacionar tabelas. No caso relacionando as tabelas: Tabela imoveis id_imovel id_imagem Tabela imagens id_imagem miniatura imagem -> Para relacionar as duas tabelas: alter table imoveis add foreign key (id_imagem) references imagens(id_imagem); Qualquer dúvida poste por favor.. Eu estou montando no Dreamweaver, onde eu coloco esse código? Compartilhar este post Link para o post Compartilhar em outros sites
h4v3st 1 Denunciar post Postado Dezembro 2, 2009 Em nenhum lugar.. comando SQL você executa no seu banco de dados! Isso que mostrei é a modelagem do seu banco de dados e não comandos do dreamweaver.. Compartilhar este post Link para o post Compartilhar em outros sites
ddlightw 0 Denunciar post Postado Dezembro 3, 2009 Em nenhum lugar.. comando SQL você executa no seu banco de dados! Isso que mostrei é a modelagem do seu banco de dados e não comandos do dreamweaver.. Calma, eu sei que é do banco de dados, só que queria saber se ele não entrava dentro do PHP. Citei o Dreamwever, porque eu achei que poderia ter alguma opção dentro desses códigos que eu teria que mudar. Exemplo: $insertSQL = sprintf("INSERT INTO noticias_tb (data_db, data_user, tipo, titulo, resumo, texto, imagem, destaque) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['data_db'], "date"), GetSQLValueString($_POST['data_user'], "text"), Códigos que devem ser inseridos no PHP para fazer consulta, inserir, deletar, é que eu conheço pouco de mysql. Utilizo o PHPMyadmin para criar o banco de dados. Sorry. http://forum.imasters.com.br/public/style_emoticons/default/natal_sad.gif Compartilhar este post Link para o post Compartilhar em outros sites
h4v3st 1 Denunciar post Postado Dezembro 3, 2009 ddlightw, ah sim.. Para a inserção (insert) você terá que utilizar 2 querys: primeiro o insert da tabela imagens depois o insert da tabela imoveis, pois o campo id_imagem da tabela imoveis depende do campo id_imagem da tabela imagem. Então é necessário separar os 2 inserts.. Agora no caso do select, você irá utilizar uma consulta relacionando as 2 tabelas, exemplo: select img.imagem,img.miniatura from imagens img, imoveis imo where img.id_imagem = imo.id_imagem and imo.id_imovel = X ; Seleciona a miniatura e a imagem de determinado imovel X Compartilhar este post Link para o post Compartilhar em outros sites
ddlightw 0 Denunciar post Postado Dezembro 3, 2009 Valeu, acho que agora a minha dúvida é com o dreamweaver. Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Dezembro 3, 2009 Alterei algumas coisas: CREATE TABLE IF NOT EXISTS `imoveis_tb` ( `id_imovel` int() unsigned NOT NULL, -----------------> a menos que tenha + que 4294967295 registros. `tipo` int() unsigned NOT NULL, ------------------------> relacione com o índice primário da outra tabela `data_incl` char(10) NOT NULL, `negocios` int() unsigned NOT NULL,------------------------> relacione com o índice primário da outra tabela `foto` varchar(100) NOT NULL, `foto1` varchar(100) NOT NULL, `foto2` varchar(100) NOT NULL, `foto3` varchar(100) NOT NULL, `foto4` varchar(100) NOT NULL, `foto5` varchar(100) NOT NULL, `zona` int() unsigned NOT NULL,------------------------> relacione com o índice primário da outra tabela `bairro` int() unsigned NOT NULL,------------------------> relacione com o índice primário da outra tabela `dorm` int() unsigned NOT NULL, ------------------------> relacione com o índice primário da outra tabela `detalhes_imovel` text NOT NULL, `valor_imovel` float NOT NULL, `destaque` enum('sim','nao') NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Compartilhar este post Link para o post Compartilhar em outros sites
ddlightw 0 Denunciar post Postado Dezembro 14, 2009 Vi sua resposta agora, no tipo de varável do código,eu tinha colocado bigint porque eu não tenho idéia de quantos imóveis seriam cadastrados. Nesse site que estou tentando criar tem uma área de cadastro, pequisei na internet e em livros que tem exemplos de cadastro de produtos, mas não achei nada com cadastro de imagens. Compartilhar este post Link para o post Compartilhar em outros sites