Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Insert e Select pelo PHP

Olá, gostaria de saber, como fazer para inserir e dar um Select em tabelas que possuem relacionamento, utilizei um modelador de banco, para poder aprender ai ele deu uma ajuda, porem não sei como tratar no php!

Dando exemplo: TABELA INICIAL

CREATE TABLE IF NOT EXISTS `mydb`.`imoveis` (
  `idimoveis` INT NOT NULL AUTO_INCREMENT,
  `tipo_id` VARCHAR(4) NOT NULL,
  `metragem` FLOAT NULL,
  `qtdquartos` TINYINT NULL,
  `qtdbanheiro` TINYINT NULL,
  `descricao` TEXT NULL,
  `localizacao` VARCHAR(20) NULL,
  `opcao_id` VARCHAR(4) NULL,
  `preco` DECIMAL(10,2) NULL,
  `img` VARCHAR(60) NULL,
  `tipo_idtipo` INT NOT NULL,
  PRIMARY KEY (`idimoveis`, `tipo_idtipo`))
ENGINE = InnoDB

1:n

TABELAS CRIADA PELO SISTEMA

CREATE TABLE IF NOT EXISTS `mydb`.`imoveis_has_tipo` (
  `imoveis_idimoveis` INT NOT NULL,
  `imoveis_tipo_idtipo` INT NOT NULL,
  `tipo_idtipo` INT NOT NULL,
  PRIMARY KEY (`imoveis_idimoveis`, `imoveis_tipo_idtipo`, `tipo_idtipo`),
  INDEX `fk_imoveis_has_tipo_tipo1_idx` (`tipo_idtipo` ASC),
  INDEX `fk_imoveis_has_tipo_imoveis1_idx` (`imoveis_idimoveis` ASC, `imoveis_tipo_idtipo` ASC),
  CONSTRAINT `fk_imoveis_has_tipo_imoveis1`
    FOREIGN KEY (`imoveis_idimoveis` , `imoveis_tipo_idtipo`)
    REFERENCES `mydb`.`imoveis` (`idimoveis` , `tipo_idtipo`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_imoveis_has_tipo_tipo1`
    FOREIGN KEY (`tipo_idtipo`)
    REFERENCES `mydb`.`tipo` (`idtipo`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB

n:m

CREATE TABLE IF NOT EXISTS `mydb`.`imoveis_has_tipo_has_opcional` (
  `imoveis_has_tipo_imoveis_idimoveis` INT NOT NULL,
  `imoveis_has_tipo_imoveis_tipo_idtipo` INT NOT NULL,
  `imoveis_has_tipo_tipo_idtipo` INT NOT NULL,
  `opcional_idopcional` INT NOT NULL,
  PRIMARY KEY (`imoveis_has_tipo_imoveis_idimoveis`, `imoveis_has_tipo_imoveis_tipo_idtipo`, `imoveis_has_tipo_tipo_idtipo`, `opcional_idopcional`),
  INDEX `fk_imoveis_has_tipo_has_opcional_opcional1_idx` (`opcional_idopcional` ASC),
  INDEX `fk_imoveis_has_tipo_has_opcional_imoveis_has_tipo1_idx` (`imoveis_has_tipo_imoveis_idimoveis` ASC, `imoveis_has_tipo_imoveis_tipo_idtipo` ASC, `imoveis_has_tipo_tipo_idtipo` ASC),
  CONSTRAINT `fk_imoveis_has_tipo_has_opcional_imoveis_has_tipo1`
    FOREIGN KEY (`imoveis_has_tipo_imoveis_idimoveis` , `imoveis_has_tipo_imoveis_tipo_idtipo` , `imoveis_has_tipo_tipo_idtipo`)
    REFERENCES `mydb`.`imoveis_has_tipo` (`imoveis_idimoveis` , `imoveis_tipo_idtipo` , `tipo_idtipo`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_imoveis_has_tipo_has_opcional_opcional1`
    FOREIGN KEY (`opcional_idopcional`)
    REFERENCES `mydb`.`opcional` (`idopcional`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB

n:m TABELA OPCIONAL

CREATE TABLE IF NOT EXISTS `mydb`.`opcional` (
  `idopcional` INT NOT NULL,
  `nome` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`idopcional`))
ENGINE = InnoDB

Como trabalhar com estes tipos de tabela no PHP?

1 resposta
solução!

Bom dia, tudo bem?

A principio sua Dúvida é SQL, sugiro fazer o curso https://cursos.alura.com.br/course/introducao-a-banco-de-dados-e-sql

Este curso de mostrará como fazer pesquisas de várias tabelas.

O curso https://cursos.alura.com.br/course/php-mysql-e-fundamentos-da-web te mostra como pode ser feito um relacionamento simples no caso a tabela Categoria.

Mais existe várias formas de fazer relacionamento tanto para insert quanto para select.

Atenciosamente.