0

我有一个包含两个表的数据库,点和人。作品为出版和编辑。一份出版物可以有多个版本。Point 具有三列:pub(例如,a、t、e)和 edn 9ce、se、ne)。现在 a-ce=2 点,a-se=1 点,t-ce=3 点,t-se=4 点等。这些值被插入到点表中,这就完成了。隔壁桌的人是高管们写一天工作的地方。这有四列:name、pub、edn 和 point。例如,第 1 个人输入了 a-ce,应在他的名字中插入 2 点。如何使用 PHP 从点表中自动计算 pub 和 edn 并在 men 表中插入相应的值?以下代码描述了作品的插入:

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO men (name, pub, edn) VALUES (%s, %s, %s)",
                   GetSQLValueString($_POST['name'], "text"),
                   GetSQLValueString($_POST['pub'], "text"),
                   GetSQLValueString($_POST['edn'], "text"));

  mysql_select_db($database_mathcon, $mathcon);
  $Result1 = mysql_query($insertSQL, $mathcon) or die(mysql_error());
}
4

1 回答 1

0

在对 database2执行之前INSERT query,您应该根据 和 的值对适当的 执行一个on SELECT querydatabase1 。point$_POST['pub']$_POST['edn']

就像是:

"SELECT point FROM point WHERE pub = $_POST['pub'] AND edn = $_POST['edn']"

然后将返回的值添加到您的$insertSQL字符串中。

完成这项工作的另一种方法是在代码开头查询 database1,将返回的值放入一个数组中,然后使用编辑器输入的条目从数组中读取值。

于 2013-07-06T10:22:44.637 回答