Actualmente estoy trabajando en un proyecto y me quedo con algo.

Estoy buscando una forma de unir dos mesas diferentes. Cuando crea una entrada en una tabla, automáticamente creará una entrada en otra tabla.

Por ejemplo, digamos que estoy creando nuevos pacientes para un sistema. Cuando ingreso todos los datos en el formulario y hago clic en enviar, todos los datos se almacenan en la tabla de pacientes bajo la identificación de paciente única. Ahora que he creado una fila para Bob en la tabla de pacientes, me gustaría que también creara una fila para Bob en la tabla de contabilidad. Para que los datos contables se vinculen con los datos del paciente. Por lo tanto, cuando presente un nuevo paciente, también deseo crear una nueva fila en la tabla de contabilidad que pueda hacer referencia al paciente para el que se creó.

No estoy seguro de haber aclarado mi pregunta.

EDITAR: ¡Gracias por toda la ayuda! Logré levantarlo y trabajar con lo siguiente ...

<?
session_start();    

include "database_connect.inc";

$sql="INSERT into patients SET patient_fname='".addslashes($_POST['fname'])."',
                               patient_initial='".$_POST['initial']."', 
                               patient_lname='".addslashes($_POST['lname'])."', 
                               address='".addslashes($_POST['address'])."',
                               city='".addslashes($_POST['city'])."',
                               state='".$_POST['state']."',
                               zipcode='".$_POST['zip']."',
                               phone1label='".$_POST['phone1label']."',
                               phone1='".$_POST['phone1']."',
                               phone2label='".$_POST['phone2label']."',
                               phone2='".$_POST['phone2']."',
                               phone3label='".$_POST['phone3label']."',
                               phone3='".$_POST['phone3']."',
                               phone4label='".$_POST['phone4label']."',
                               phone4='".$_POST['phone4']."',
                               dateofinjury='".$_POST['dateofinjury']."',
                               office_location='".$_POST['officelocation']."',
                               law_office1='".$_POST['lawoffice1']."',
                               law_office2='".$_POST['lawoffice2']."',
                               insurance1='".$_POST['insurance1']."',
                               pip='".$_POST['pip']."',
                               claim1='".$_POST['claim1']."',
                               insurance3='".$_POST['insurance3']."',
                               claim3='".$_POST['claim3']."'";

$result = mysql_query($sql,$cn);
if (!$result) die("ERROR - Query failed while trying to add a new patient record!<br>".$sql);

$sql="INSERT INTO accounts (patient_id,patient_name,patient_lname) VALUES(LAST_INSERT_ID(),'".$_POST['fname']."','".$_POST['lname']."')";


if (!mysql_query($sql,$cn))
    {
    die('Error' . mysql_error());   
    }

header("location:createpatient.php");

?>

-2
Elijah 10 feb. 2015 a las 04:00

3 respuestas

La mejor respuesta

En base a su pregunta, prefiero sugerirle este concepto:

Ejemplo:

table1 name: patients
table2 name: accounting

indicator:
patient_id in patients table1
accounting_id in accounting table2

Entonces, ¡hagámoslo !:

<?php    
$sql="INSERT INTO patients (patient_fname, ...) 
VALUES ('$_POST[patient_fname]','....')";
mysql_query($sql);
if (!mysql_query($sql,$cn))
    {
    die('Error' . mysql_error());   
    }

$getIdInTable1 = mysql_query("SELECT LAST_INSERT_ID() AS patient_id 
FROM patients");
$setID = mysql_fetch_assoc($getIdInTable1);

$sql="INSERT INTO accounting (patient_id, ....) 
VALUES ({$setID['accounting_id']}, '$_POST['patient_id']','....')";
if (!mysql_query($sql,$cn))
    {
    die('Error' . mysql_error());   
    }

mysql_close($db_server);
header("location:createpatient.php");
exit();
?>

Espero que esto realmente te ayude.

0
Klikdesainweb 10 feb. 2015 a las 02:46

Es mejor que usar un código máximo progresivo manual para unir tablas en lugar de id

0
Luca Olivieri 10 feb. 2015 a las 01:09

Primero pruébalo, luego pregunta dónde te quedas atascado.

Si yo fuera tú, probaría algo como esto.

  BEGIN;
    INSERT INTO patients(name,details)
      VALUES('test', 'test');
    INSERT INTO patient_profiles (patient_id, information) 
      VALUES(LAST_INSERT_ID(),'something useful');
    COMMIT;

Consulte algún manual.

0
tnchalise 10 feb. 2015 a las 01:08