Ir para conteúdo

POWERED BY:

Arquivado

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

ddlightw

Organização de tabelas para galeria de imóveis

Recommended Posts

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

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.