我目前正在开展一个项目并坚持不懈。
我正在寻找一种方法来加入两个不同的表。在一个表中创建条目时,它将自动在另一个表中创建一个条目。
例如,假设我正在为系统创建新患者。当我将所有数据输入到表单中并单击“提交”时,所有数据都将存储在患者表中唯一的患者ID下。 现在,我在患者表中为Bob创建了一行,我希望它还可以在会计表中为Bob创建一行。这样会计数据就会与患者数据联系起来。 因此,当我提交新患者时,我还要在会计表中创建一个新行,该行可以引用为其创建的患者。
我不确定我的问题是否清楚......
编辑: 感谢您的帮助!我设法得到它并使用以下..
<?
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");
&GT;
答案 0 :(得分:0)
首先尝试一下,然后问你实际上卡住的地方。
如果我是你,我会尝试这样的事情。
BEGIN;
INSERT INTO patients(name,details)
VALUES('test', 'test');
INSERT INTO patient_profiles (patient_id, information)
VALUES(LAST_INSERT_ID(),'something useful');
COMMIT;
请参考manual。
答案 1 :(得分:0)
比使用手动渐进式最大代码连接表而不是id
更好答案 2 :(得分:0)
根据您的问题,我更愿意向您推荐这个概念:
示例:
table1 name: patients
table2 name: accounting
indicator:
patient_id in patients table1
accounting_id in accounting table2
然后,让我们做!:
<?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();
?>
'希望这真的对你有帮助。