BetoGroo Postado Abril 7, 2009 Denunciar Share Postado Abril 7, 2009 Olá!Tenho as seguintes tabelas relacionadas:Com este script que eu criei, funciona normalmente:<?php require_once 'conn.php'; $nome = $_POST['nome']; $nascto_func = $_POST['nascto_func']; $delegacia = $_POST['delegacia']; $cargo = $_POST['cargo']; $logradouro_end = $_POST['logradouro_end']; $numero_end = $_POST['numero_end']; $bairro_end = $_POST['bairro_end']; $cep_end = $_POST['cep_end']; $comp_end = $_POST['comp_end']; $ddd_tel = $_POST['ddd_tel']; $numero_tel = $_POST['numero_tel']; if ((!isset($_POST['ddd_cel'])) || (!isset($_POST['numero_cel']))){ $ddd_cel = NULL; $numero_cel = NULL; }else{ $ddd_cel = $_POST['ddd_cel']; $numero_cel = $_POST['numero_cel']; } $sql = "INSERT INTO funcionario (rl_id_dele, rl_id_cargo, nome_func, nascto_func) "; $sql .= "VALUES ($delegacia, $cargo, '$nome', '$nascto_func') "; echo "<br>$sql";//apenas para testar a consulta if(mysql_query($sql)){ echo " - Certo"; }else{ echo " - Errado"; } $sql = "SELECT max(id_func) FROM funcionario "; echo "<br>$sql<br>";//apenas para testar a consulta $rl_id_func = mysql_result(mysql_query($sql),0);//maior id de funcionario cadastrado $sql = "INSERT INTO telefone (rl_id_func, rl_id_tipo_tel, numero_tel, ddd_tel) "; $sql .= "VALUES ($rl_id_func, 1, '$numero_tel', '$ddd_tel') ";// 1 é sempre telefone fixo if(($ddd_cel != null) ||($numero_cel != null)){ $sql .= ",($rl_id_func, 2, '$numero_cel', '$ddd_cel') "; // 2 é sempre telefone celular } echo "<br><br>$sql<br><br>"; //apenas para testar a consulta if (mysql_query($sql)) { echo "- Certo"; }else{ echo "- Errado"; } $sql = "INSERT INTO endereco (logradouro_end, numero_end, bairro_end, cep_end, comp_end) "; $sql .= "VALUES ('$logradouro_end', '$numero_end', '$bairro_end', '$cep_end', '$comp_end') "; echo "<br><br>$sql<br><br>"; if (mysql_query($sql)) { echo "- Certo"; }else{ echo "- Errado"; } $sql = "SELECT MAX(id_end) FROM endereco "; $funcionario_id_end = mysql_result(mysql_query($sql),0); //maior id de telefone cadastrado echo "<br><br>$funcionario_id_end";//apenas para testar a consulta $sql = "CALL ADD_func_end($rl_id_func, $funcionario_id_end)"; //chama a procedure que insere em tabela N:M echo"<br><br>$sql"; if (mysql_query($sql)) { echo "- Certo"; }else{ echo "- Errado"; } ?>Porém, gostaria de saber se fiz certo, ou se teria alguma maneira mais fácil de fazê-lo.Lembrando que o id_tel é inserido através de uma TRIGGER, e os dois campos da tabela RL_funcionario_endereco através de uma procedure!Um abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
BetoGroo
Olá!
Tenho as seguintes tabelas relacionadas:
Com este script que eu criei, funciona normalmente:
Porém, gostaria de saber se fiz certo, ou se teria alguma maneira mais fácil de fazê-lo.
Lembrando que o id_tel é inserido através de uma TRIGGER, e os dois campos da tabela RL_funcionario_endereco através de uma procedure!
Um abraço!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.