将数据插入两个表的方法:
- 我们会在数据库中传输第二张表。
- 我为两张桌子单独建立了连接。
表名是transaction_held_record 我需要填写的栏目是:
- transaction_desc
- PRODUCT_CODE
- PRODUCT_NAME
- 销售价格
以下是第一个表的示例代码:
include("system/connxn.php");
if (!isset($_POST['eid'])) customError("Failed: Invalid access.", $log);
//Columns for first table.
$eid = $_POST['eid'];
$customer = $_POST['customer'];
$title = $_POST['title'];
$startTime = $_POST['startTime'];
$endTime = $_POST['endTime'];
$roomID = $_POST['roomID'];
$personnel = $_POST['personnel'];
$service = $_POST['service'];
$status = $_POST['status'];
$remarks = $_POST['remarks'];
$adjustment = $_POST['adjustment'];
$totalprice = $_POST['totalprice'];
$query_str = "UPDATE reservationlist SET `title` = '$title', `start` = '$startTime', `end` = '$endTime', `customer` = '$customer', `resource` = '$roomID', `personnel` = '$personnel', `services` = '$service', `status` = '$status', `remarks` = '$remarks', `totalprice` = '$totalprice', `modflag` = '$adjustment' WHERE id = $eid";
//echo $query_str;
mysql_query($query_str) or customError("Failed: (".mysql_errno().") ".mysql_error(), $log);
//echo mysql_insert_id();
$log->writelog("Update on table [reservationlist] record id: ".$eid);
echo "Saved";
谢谢你们!
答案 0 :(得分:2)
您可以使用两(2)个函数创建一个PHP类。一个函数接收由记录id更新到第一个表的值的参数(参数)和另一个表的另一个函数。例如:
class dbUpdates
{
function updateReservations($eid, $val1, $val2, $val3, $val4, $val5) {
mysql_query("UPDATE reservationlist SET ... WHERE id = $eid");
//do handling or some additional codes here...
}
function insertTransaction($recid, $val1, $val2, $val3, $val4, $val5) {
mysql_query("INSERT INTO transaction_held_record (reffield, val1field, val2field, val3field, val4field, val5field) VALUES($recid, $val1, $val2, $val3, $val4, $val5)");
//do handling or some additional codes here...
}
}
包含班级文件include("dbUpdates.php");
通过
$ updateDB = new dbUpdates;
您可以调用函数$updateDB->updateReservations("your arguments here...");
和$updateDB->insertTransaction("your arguments here...");
希望这有点帮助...
答案 1 :(得分:0)
如果我错了,请纠正我。你需要在两个不同的数据库中将数据插入两个不同的表吗?
为此你需要两个连接和每个连接的脚本。检查第一个脚本是否成功然后运行第二个脚本。
但如果您可以通过一个连接以某种方式访问这两个表,则可以在一个操作中同时运行两个脚本!
更新:我认为您需要在第一个表中获取插入行的ID并将其用于第二个表,对吗?
这样做:How to get the ID of INSERTed row in mysql?
更新:您可以进行多次更新,在单个操作中插入您想要完成的查询。喜欢:
$query = "UPDATE `tbl_something` SET col1 = 'first' WHERE col1 LIKE '%something%';INSERT INTO tbl_another (col1 , col2 , col5) VALUES ('firstValue' , 'secondValue' , 'fifthValue');UPDATE ... ; ";
然后使用mysq_query($ query);
运行它如果你想要,你可以在查询中获得受影响的行的id,就像我之前提到的那样,并在下一个中使用它。
希望这有帮助