>
Boa noite,
Estou com uma dúvida de como inserir dados em tabelas relacionadas,
abaixo o meu código:
CREATE TABLE IF NOT EXISTS `endereco` (
`id_endereco` int(11) NOT NULL AUTO_INCREMENT,
`cep` varchar(50) NOT NULL,
`rua` varchar(50) NOT NULL,
`numero` varchar(10) NOT NULL,
`bairro` varchar(50) NOT NULL,
`cidade` varchar(50) NOT NULL,
`uf` char(2) NOT NULL,
PRIMARY KEY (`id_endereco`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
CREATE TABLE IF NOT EXISTS `endereco_fornecedor` (
`id_endereco_fornecedor` int(11) NOT NULL AUTO_INCREMENT,
`endereco` int(11) NOT NULL,
`fornecedor` int(11) NOT NULL,
PRIMARY KEY (`id_endereco_fornecedor`),
KEY `endereco_fornecedor_endereco` (`endereco`),
KEY `endereco_fornecedor_fornecedor` (`fornecedor`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
CREATE TABLE IF NOT EXISTS `fornecedor` (
`id_fornecedor` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
`contato` varchar(50) NOT NULL,
PRIMARY KEY (`id_fornecedor`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;
CREATE TABLE IF NOT EXISTS `telefone` (
`id_telefone` int(11) NOT NULL AUTO_INCREMENT,
`telefone` varchar(50) NOT NULL,
PRIMARY KEY (`id_telefone`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
CREATE TABLE IF NOT EXISTS `telefone_fornecedor` (
`id_telefone_fornecedor` int(11) NOT NULL AUTO_INCREMENT,
`fornecedor` int(11) NOT NULL,
`telefone` int(11) NOT NULL,
PRIMARY KEY (`id_telefone_fornecedor`,`fornecedor`,`telefone`),
KEY `fk_telefone_fornecedor_fornecedor` (`fornecedor`),
KEY `fk_telefone_fornecedor_telefone` (`telefone`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
agora o código PHP:
extract($_POST);
include ("./conexao_db.php");
conectar($server,$user,$senha,$name);
$SQL = "INSERT INTO fornecedor (nome,email,contato)";
$SQL.= " VALUES(.$nome_for.,.$email.,.$contato.)";
$query = mysql_query($SQL) or die("ERRO FORNECEDOR!
".mysql_error());
$SQL = "INSERT INTO telefone (telefone)";
$SQL.= " VALUES(.$telefone.)";
$query = mysql_query($SQL) or die("ERRO TELEFONE
".mysql_error());
$SQL = "INSERT INTO telefone_fornecedor (fornecedor,telefone)";
$SQL.= " VALUES((select LAST_INSERT_ID()),(select LAST_INSERT_ID()))";
$query = mysql_query($SQL) or die("ERRO TELEFONE_FORNECEDOR
".mysql_error());
$SQL = "INSERT INTO endereco(cep,rua,numero,bairro,cidade,uf)";
$SQL.= " VALUES(.$cep.,.$rua.,.$numero.,.$bairro.,.$cidade.,.$uf.)";
$query = mysql_query($SQL) or die("ERRO ENDERECO!
".mysql_error());
$SQL = "INSERT INTO endereco_fornecedor (id_endereco_fornecedor,endereco,fornecedor)";
$SQL.= " VALUES(NULL,(select LAST_INSERT_ID()),(select LAST_INSERT_ID()))";
$query = mysql_query($SQL) or die("ERRO ENDERECO_FORNECEDOR!
".mysql_error());
?>
Francisco
Você chegou a ver o curso de PHP com MySQL?
Lá eu mostro um exemplo de noticias com autor.
Onde existe um relacionamento entre eles.