Ir para conteúdo

POWERED BY:

Arquivado

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

Anilton Veiga

[Resolvido] Cadastrar dados de um form em duas tabelas via php

Recommended Posts

Pessoal, preciso da ajuda de vocês denovo, estou com uma duvida, tenho um form que nele coloquei irei pegar dois tipos de informações ('proprietario', 'empresa') eu consigo inserir os dados do proprietário na tabela proprietário, mas agora me deparei com um problema, quando vou inserir os dados da 'empresa' na tabela empresa, eu tenho que inserir a 'ID' do proprietário, mas isto esta no mesmo form, como faço para fazer duas inserções?, abaixo segue o código!

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CADASTRAR</title>
</head>

<body>
<div id="coluna_central">
 <h2 class="titulos_secao">Cadastrar empresa</h2>
 <?php
 include "conexao.php";

if (isset($_POST['enviar']) && $_POST['enviar'] == 'send'){


//dados do proprietario
$nome_proprietario = strip_tags(trim($_POST['nome_proprietario']));
if(empty($nome_proprietario)){
$retorno[0] = 'Digite um nome para o proprietário';
echo "<div class=\"alert_atencao\">$retorno[0]</div>";
}

$endereco_proprietario = strip_tags(trim($_POST['endereco_proprietario']));
if(empty($endereco_proprietario)){
$retorno[1] = 'Digite um endereço para a proprietário';
echo "<div class=\"alert_atencao\">$retorno[1]</div>";
}


$numero_proprietario = strip_tags(trim($_POST['numero_proprietario']));
if(!is_numeric(trim($numero_proprietario)) )
{
echo "<div class=\"alert_atencao\">Digite somente numeros</div>";
}
else{
if(empty($numero_proprietario)){
$retorno[2] = 'Digite um numero para o endereço';
echo "<div class=\"alert_atencao\">$retorno[2]</div>";
}
}

$bairro_proprietario = strip_tags(trim($_POST['bairro_proprietario']));
if(empty($bairro_proprietario)){
$retorno[3] = 'Digite um bairro para o endereço';
echo "<div class=\"alert_atencao\">$retorno[3]</div>";
}

$cidade_proprietario = strip_tags(trim($_POST['cidade_proprietario']));
if(empty($cidade_proprietario)){
$retorno[4] = 'Digite uma cidade para o proprietario';
echo "<div class=\"alert_atencao\">$retorno[4]</div>";
}

$fone_proprietario = strip_tags(trim($_POST['fone_proprietario']));
if(empty($fone_proprietario)){
$retorno[5] = 'Digite um telefone para o proprietario';
echo "<div class=\"alert_atencao\">$retorno[5]</div>";
}


$email_proprietario = strip_tags(trim($_POST['email_proprietario']));
if(empty($email_proprietario)){
$retorno[6] = 'Digite uma email';
echo "<div class=\"alert_atencao\">$retorno[6]</div>";	
}elseif(!filter_var($email_proprietario, FILTER_VALIDATE_EMAIL)){
$retorno[7] = 'Digite um e-mail válido';
echo "<div class=\"alert_atencao\">$retorno[7]</div>";	
}


$confirma_email_proprietario = strip_tags(trim($_POST['confirma_email_proprietario']));
if(empty($confirma_email_proprietario)){
$retorno[7] = 'Digite uma email';
echo "<div class=\"alert_atencao\">$retorno[7]</div>";	
}elseif(!filter_var($email_proprietario, FILTER_VALIDATE_EMAIL)){
$retorno[8] = 'Digite um e-mail válido';
echo "<div class=\"alert_atencao\">$retorno[8]</div>";
}
if($email_proprietario != $confirma_email_proprietario){
$retorno[9] = 'Os emails estão diferentes';
echo "<div class=\"alert_atencao\">$retorno[9]</div>";	
}

$usuario_proprietario = strip_tags(trim($_POST['usuario_proprietario']));
if(empty($usuario_proprietario)){
$retorno[10] = 'Digite um usuario para o proprietario';
echo "<div class=\"alert_atencao\">$retorno[10]</div>";
}

$senha_proprietario = strip_tags(trim($_POST['senha_proprietario']));
if(empty($senha_proprietario)){
$retorno[11] = 'Digite uma senha para o proprietario';
echo "<div class=\"alert_atencao\">$retorno[11]</div>";
}

$confirma_senha_proprietario = strip_tags(trim($_POST['confirma_senha_proprietario']));
if(empty($confirma_senha_proprietario)){
$retorno[11] = 'Digite uma cidade para o proprietario';
echo "<div class=\"alert_atencao\">$retorno[11]</div>";
}

if($senha_proprietario != $confirma_senha_proprietario){
$retorno[12] = 'As senhas não correspondem';
echo "<div class=\"alert_atencao\">$retorno[12]</div>";	
}

$existenciemail="select email_proprietario
  FROM proprietarios
  Where email_proprietario='$email_proprietario'";
  $rs=mysql_query($existenciemail) or die (mysql_error());

  if($numresult=mysql_num_rows($rs))
     {
echo "<div class=\"alert_atencao\">Esse email já está cadastrado!</div>";
	 }




$existencianome_usuario_proprietario="select usuario_proprietario
  FROM proprietarios
  Where usuario_proprietario='$usuario_proprietario'";
  $rs=mysql_query($existencianome_usuario_proprietario) or die (mysql_error());

  if($numresult=mysql_num_rows($rs))
     {
echo "<div class=\"alert_atencao\">Esse nome de usuário ja esta cadastrado!</div>";
	 }

  else {	  

if (empty($retorno)) {
		$cadastro = mysql_query("INSERT INTO proprietarios (id_proprietario, nome_proprietario, endereco_proprietario, bairro_proprietario, numero_proprietario, cidade_proprietario, fone_proprietario, email_proprietario, confirma_email_proprietario, usuario_proprietario, senha_proprietario, confirma_senha_proprietario)  VALUES ('', '$nome_proprietario','$endereco_proprietario','$bairro_proprietario','$numero_proprietario','$cidade_proprietario','$fone_proprietario','$email_proprietario','$confirma_email_proprietario','$usuario_proprietario','$senha_proprietario','$confirma_senha_proprietario')");

		if($cadastro == 1){
			echo '<div class="alert_ok">Sua empresa foi cadastrada com sucesso!</div>';
		}
		else{
			echo '<div class="alert_erro">Sua empresa não foi cadastrada!</div>';
			}

		}	

  }
}
//PESSOAL, ATÉ AQUI O CÓDIGO INSERE OS DADOS DO PROPRIETARIO DA TABELA PROPRIETARIOS

//GOSTARIA DE SABER COMO FAÇO PARA INSERIR OS DADOS DA EMPRESA NA TABELA 'EMPRESAS' E QUE AO MESMO TEMPO INSIRA A 'ID' DO PROPRIETARIO NA MESMA TABELA 'EMPRESAS'

?>
 <div>
   <form action="" method="post" enctype="multipart/form-data">
     <h3>Dados do proprietario:</h3>
     <table width="100%" border="0" cellspacing="0" cellpadding="0" id="entrar">
       <tr>
         <td width="7%"><label>Nome:</label></td>
         <td width="93%"><input type="text" name="nome_proprietario"/></td>
       </tr>
       <tr>
         <td><label>Endereço:</label></td>
         <td><input name="endereco_proprietario" type="text" size="25" maxlength="50" class="endereco_baiiro" id="endereco_proprietario"/>
             
           <label>Nº</label>
           <input name="numero_proprietario" type="text" size="25" maxlength="4"  class="endereco_numero"/></td>
       </tr>
       <tr>
         <td><label>Bairro:</label></td>
         <td><input name="bairro_proprietario" type="text" size="25" maxlength="50"/></td>
       </tr>
       <tr>
         <td><label>Cidade:</label></td>
         <td><input name="cidade_proprietario" type="text" size="25" maxlength="50" id="cidade_proprietario" /></td>
       </tr>
       <tr>
         <td><label>Fone:</label></td>
         <td><input name="fone_proprietario" type="text" size="10" maxlength="10" id="fone_proprietario" /></td>
       </tr>
       <tr>
         <td><label>E-mail:</label></td>
         <td><input name="email_proprietario" type="text" size="25" maxlength="25" id="email_proprietario" /></td>
       </tr>
       <tr>
         <td><label>Confirma e-mail:</label></td>
         <td><input name="confirma_email_proprietario" type="text" size="25" maxlength="25" id="confirma_email_proprietario" /></td>
       </tr>
       <tr>
         <td><label>Usuário:</label></td>
         <td class=""><input name="usuario_proprietario" type="text" size="25" maxlength="25" id="email_proprietario3" /></td>
       </tr>
       <tr>
         <td><label>Senha:</label></td>
         <td class=""><input name="senha_proprietario" type="password" size="25" maxlength="25" id="senha_proprietario" /></td>
       </tr>
       <tr>
         <td><label>Confirma senha:</label></td>
         <td class=""><input name="confirma_senha_proprietario" type="password" size="25" maxlength="25" id="confirma_senha_proprietario" /></td>
       </tr>
       <tr>
         <td> </td>
         <td> </td>
       </tr>
     </table>
     <h3>Dados da empresa:</h3>
     <table width="100%" border="0" cellspacing="0" cellpadding="0" id="entrar">
       <tr>
         <td><label>Categoria:</label></td>
         <td type="text" ><?php $sql="SELECT id_categoria, nome_categoria 
		FROM categorias";
	$result=mysql_query ($sql) or die ("<br>Não foi possível encontrar categorias cadastradas");
	$numresult=mysql_num_rows($result);
	echo "<select name=categoria id=categoria>";
	$i=0;
	while($i<$numresult)
		{
			$linha=mysql_fetch_assoc($result);
			echo "<option value=".$linha['id_categoria'].">".$linha['nome_categoria']."</option>"; 
			$i++;
		}	
		echo "</select><br>";
?></td>
       </tr>
       <tr>
         <td><label>Nome:</label></td>
         <td><input name="nome_empresa" type="text" id="nome_empresa"/></td>
       </tr>
       <tr>
         <td width="7%"><label>Endereço:</label></td>
         <td width="93%"><input name="endereco_empresa" type="text" class="endereco_baiiro" id="endereco_empresa" size="25" maxlength="50"/>
             
           <label>Nº</label>
           <input name="numero_empresa" type="text"  class="endereco_numero" id="numero_empresa" size="25" maxlength="4"/></td>
       </tr>
       <tr>
         <td width="7%"><label>Bairro:</label></td>
         <td width="93%"><input name="bairro_empresa" type="text" id="bairro_empresa"/></td>
       </tr>
       <tr>
         <td width="7%"><label>Cidade:</label></td>
         <td width="93%"><input name="cidade_empresa" type="text" id="cidade_empresa"/></td>
       </tr>
       <tr>
         <td width="7%"><label>Referência</label></td>
         <td width="93%"><input name="referencia_empresa" type="text" id="referencia_empresa"/></td>
       </tr>
       <tr>
         <td width="7%"><label>Fone:</label></td>
         <td width="93%"><input name="fone_empresa" type="text" id="fone_empresa"/></td>
       </tr>
       <tr>
         <td width="7%"><label>Site:</label></td>
         <td width="93%"><input name="site_empresa" type="text"/></td>
       </tr>
       <tr>
         <td><label>E-mail:</label></td>
         <td><input name="email_empresa" type="text" id="email_empresa"/></td>
       </tr>
       <tr>
         <td><label>Confirma e-mail:</label></td>
         <td><input name="confirma_email_empresa" type="text" id="confirma_email_empresa"/></td>
       </tr>
       <tr>
         <td><label>Descrição:</label></td>
         <td><input name="descricao_empresa" type="text" id="descricao_empresa"/></td>
       </tr>
       <tr>
         <td><label>Sobre a empresa:</label></td>
         <td><textarea name="sobre_empresa" id="sobre_empresa"></textarea></td>
       </tr>
       <tr>
         <td><label>Mapa <em>(google maps)</em>:</label></td>
         <td><textarea name="localizacao_empresa" id="localizacao_empresa"></textarea></td>
       </tr>
       <tr>
         <td> </td>
         <td> </td>
       </tr>
       <tr>
         <td> </td>
         <td><input type="hidden" name="enviar" value="send" />
           <input type="submit" name="Enviar" class="button" value="Cadastrar" />
           <input name="input" value="Limpar" type="reset" class="button" /></td>
       </tr>
     </table>
   </form>
 </div>
</div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

COMO ESTA SUA TABELA DO MYSQL?

 

faca algo tipo id_proprietario=id_empresa

 

vo testa aki e ja te passo.

 

Aqui esta a tabela empresas,

2iiyd6x.png

 

 

como seria a condição e onde eu colocaria no código dai pra que eu possa colocar id_proprietario=id_empresa ?, por exemplo não tem como eu fazer um INSERT depois do primeiro INSERT?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A maneira mais simples e a que eu costumo usar:

Joga essa função dentro do seu arquivo:

 

   function Id(){
     $Sql_retorna_id = "select @@IDENTITY";
     $arr_retorna_id = mysql_query($Sql_retorna_id)
     $res = mysql_result($arr_retorna_id,0,'@@IDENTITY');
     return $res;
  }

é só colocar no inicio dentro do interpretador php.

Você faz a inserção na primeira tabela normalmente,

depois você pega o id que foi inserido na tabela usando essa função no local onde você estaria indicando na segunda tabela, exemplo:

$sql2 = "INSERT INTO $tabela VALUES($campo1, $campo2, ".Id().")";
mysql_query($sql2);

Vê se essa explicação é suficiente ou você precisa de ajuda para criar o relacionamento entre as tabelas?

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando o usuario clicar em cadastrar, todas as informacoes vão ser passadas via post ou get, certo.

 

então você vai fazer select na tabela para ver se esse usuario já existe, caso não existir, primeiro você cadastra as informações em uma das tabelas, e depois insere na outra. até aqui beleza.

 

você quer saber como inserir o mesmo ID em outra tabela. existe uma funcao do mysql, chamada mysql_insert_id. ficaria mais ou menos assim.

 

// supondo que nessa linha foi feito o insert em
// algumas das tabelas

$idProprietario = mysql_insert_id($conexao);
// essa funcao recupera o valor da coluna 
// auto_increment mais recentemente gerado
// é necessario passar o parametro com os dados da conexao na funcao
// mysql_insert_id();, no caso eu passei a variavel $conexao.

// aqui você faz outro insert na tabela desejada

 

se tiver dúvidas, me manda uma mensagem e te passo um codigo pronto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse jeito é o mais facil que tem para colocar duas Id's em tabelas diferentes ao mesmo tempo

 

// supondo que nessa linha foi feito o insert em

// algumas das tabelas

 

$idProprietario = mysql_insert_id($conexao);

// essa funcao recupera o valor da coluna

// auto_increment mais recentemente gerado

// é necessario passar o parametro com os dados da conexao na funcao

// mysql_insert_id();, no caso eu passei a variavel $conexao.

 

// aqui você faz outro insert na tabela desejada

 

 

No entando, eu não o usei, eu fiz uma alteração nos meus forms, achei melhor criar dois formularios, um cadastra fornecedor e automaticamente um cadastra empresa, assim eu pego a id do fornecedor que ja esta cadastrado com um SELECT e envio para o campo id_fornecedor da tabela categorias

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.