Ir para conteúdo

POWERED BY:

Arquivado

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

danmartinsiss

INSERT em duas tabelas (uma com chave estrangeira)

Recommended Posts

Bom dia!

 

a questao minha e aseguinte, tenho duas tabelas no banco de dados mysql, cadclientes e cadresponsavel, porem se o cliente for menor de idade preciso cadastrar o responsavel, porem nao estou conseguindo inserir apenas o id para relacionar as duas tabelas. como isso pode ser feito, o cadastrar do reponsável e através de um modal.

 

dei uma lida sobre esse comando LAST_INSERT_ID() no site http://www.php.net/mysql-insert-id porem nao entendi muito be,

 

alguem poderia me dar essa força?

 

segue o source code.

 

o php

function converter_data($strData) {
	// Recebe a data no formato: dd/mm/aaaae
	// Converte a data para o formato: aaaa-mm-dd
	if ( preg_match("#/#",$strData) == 1 ) {
		$strDataFinal = "'";
		$strDataFinal .= implode('-', array_reverse(explode('/',$strData)));
		$strDataFinal .= "'";
	}
	return $strDataFinal;
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "cadresp")) {
  $insertSQL = sprintf("INSERT INTO responsavel (nomecompleto, parentesco, telefone, ---o, datanascimento, rg, cpf, cep, estado, cidade, bairro, endereco) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['nome'], "text"),
                       GetSQLValueString($_POST['parente'], "text"),
                       GetSQLValueString($_POST['tel'], "text"),
                       GetSQLValueString($_POST['---o'], "text"),
                          converter_data($_POST['data'], "date"),
                       GetSQLValueString($_POST['rg'], "text"),
                       GetSQLValueString($_POST['cpf'], "text"),
                       GetSQLValueString($_POST['cep'], "text"),
                       GetSQLValueString($_POST['estado'], "text"),
                       GetSQLValueString($_POST['cidade'], "text"),
                       GetSQLValueString($_POST['bairro'], "text"),
                       GetSQLValueString($_POST['endereco'], "text"));

  mysql_select_db($database_dbclientes, $dbclientes);
  $Result1 = mysql_query($insertSQL, $dbclientes) or die(mysql_error());
}

$colname_rsbusca = "-1";
if (isset($_GET['cpf'])) {
  $colname_rsbusca = $_GET['cpf'];
}
mysql_select_db($database_dbclientes, $dbclientes);
$query_rsbusca = sprintf("SELECT * FROM cadclientes WHERE cpf LIKE %s", GetSQLValueString("%" . $colname_rsbusca . "%", "text"));
$rsbusca = mysql_query($query_rsbusca, $dbclientes) or die(mysql_error());
$row_rsbusca = mysql_fetch_assoc($rsbusca);
$totalRows_rsbusca = mysql_num_rows($rsbusca);

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "cadastro")) {
  $insertSQL = sprintf("INSERT INTO cadclientes (nomecompleto, ---o, dtnascimento, rg, orgaoexpedidor, cpf, unidadeatendimento, telprincipal, celular, telrecado, email, cep, estado, cidade, bairro, endereco) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                         
                       GetSQLValueString($_POST['nome'],     "text"),
                       GetSQLValueString($_POST['---o'],     "text"),
                          converter_data($_POST['data'],     "date"),
					   GetSQLValueString($_POST['rg'],       "int"),
                       GetSQLValueString($_POST['ssp'],      "text"),
                       GetSQLValueString($_POST['cpf'],      "text"),
                       GetSQLValueString($_POST['unidade'],  "text"),
                       GetSQLValueString($_POST['tel'],      "text"),
                       GetSQLValueString($_POST['tel1'],     "text"),
                       GetSQLValueString($_POST['tel2'],     "text"),
                       GetSQLValueString($_POST['email'],    "text"),
                       GetSQLValueString($_POST['cep'],      "text"),
                       GetSQLValueString($_POST['estado'],   "text"),
                       GetSQLValueString($_POST['cidade'],   "text"),
                       GetSQLValueString($_POST['bairro'],   "text"),
                       GetSQLValueString($_POST['endereco'], "text"));
  mysql_select_db($database_dbclientes, $dbclientes);
  $Result1 = mysql_query($insertSQL, $dbclientes) or die(mysql_error());

  $insertGoTo = "CadastroExame.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

$Result1 = mysql_query($insertSQL, $dbclientes) or die(mysql_error());
$insert_id = mysql_insert_id();

Só setar o valor em uma @var e manipular.

 

E abandone esta prática de geração de code, pois nem você sabe oque ta rolando ai nestas funções, pois já esta passando um parâmetro errado, parâmetro este, que não existe.

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e serão removidas do PHP em breve. Prefira usar MySQLi ou PDO. Veja mais aqui: http://www.ultimatep...r-funcoes-mysql

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Encare feedbacks como algo positivo. Esta é a diferença que separa os homens dos sobrinhos.

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.