Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Depois de muito pesquisar no GOOGLE não consegui resolver meu problema e agora peço a ajuda de vocês.
Tenho um formulário e desejo passar esses dados para duas tabelas diferentes e relacionadas. Porque é um cadastro de alunos com mais de 20 campos e gostaria de deixar mais organizado o banco de dados MYSQL, desmembrando através de tabelas e o cadastro seria feito de uma vez através do formulário.
Consegui passar através do código abaixo:
CODE
//Pegando os dados para gravar na 1ª tabela
$x = mysql_query("INSERT INTO tb_principal (nome, nascimento, sexo, cor, endereco, numero, bairro, cidade, estado, cep, observacoes, dataehora) VALUES ('$nome', '$nascimento', '$sexo', '$cor', '$endereco', '$numero', '$bairro', '$cidade', '$estado', '$cep', '$observacoes', '$dataehora')");//acabou de inicia a variavel x q insere os valores no db
if($x){echo "o cadastro foi feito com sucesso<br><br>";// verificamos se os dados doi inserido se for ele executa o echo
}else{
echo"o cadastro nao pode ser efetuado<br><br>";
}//se o arquivo nao for inserido ele execura o else
//Pegando os dados para gravar na 2ª tabela
$x = mysql_query("INSERT INTO tb_contato (mae, pai, telefone, celular, email) VALUES ('$mae', '$pai', '$telefone', '$celular', '$email')");//acabou de inicia a variavel x q insere os valores no db
if($x){echo "o cadastro foi feito com sucesso";// verificamos se os dados doi inserido se for ele executa o echo
}else{
echo"o cadastro nao pode ser efetuado";
}//se o arquivo nao for inserido ele execura o else*/
O código do banco de dados é este, fiz com a ajuda do DBDesigner:
CODE
CREATE TABLE tb_contato (
id_contato INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
tb_principal_id_principal INTEGER UNSIGNED NOT NULL,
mae VARCHAR(255) NULL,
pai VARCHAR(255) NULL,
telefone VARCHAR(20) NULL,
celular VARCHAR(20) NULL,
email VARCHAR(45) NULL,
PRIMARY KEY(id_contato, tb_principal_id_principal),
INDEX tb_contato_FKIndex1(tb_principal_id_principal)
)
TYPE=InnoDB;
CREATE TABLE tb_principal (
id_principal INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nome VARCHAR(45) NULL,
nascimento DATE NULL,
sexo VARCHAR(20) NULL,
cor VARCHAR(20) NULL,
endereco VARCHAR(255) NULL,
numero INTEGER UNSIGNED NULL,
bairro VARCHAR(20) NULL,
cidade VARCHAR(20) NULL,
estado VARCHAR(20) NULL,
cep VARCHAR(20) NULL,
observacoes VARCHAR(255) NULL,
dataehora VARCHAR(255) NULL,
PRIMARY KEY(id_principal)
)
TYPE=InnoDB;
Percebam que a idéia seria jogar a id_principal (tabela 1) no tb_principal_id_principal (tabela 2).
Espero que esteja bem explicado para que possam me ajudar.
Carregando comentários...