我有一个包含两个表的数据库,点和男人。 这些作品是出版和版本。一个出版物可以有多个版本。 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号人员已进入该职位,并且应在其姓名中插入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());
}
答案 0 :(得分:0)
在对数据库2执行INSERT query
之前,您应该根据SELECT query
和point
的值,在适当的$_POST['pub']
上对数据库1执行$_POST['edn']
。
类似的东西:
"SELECT point FROM point WHERE pub = $_POST['pub'] AND edn = $_POST['edn']"
然后将返回的值添加到$insertSQL
字符串。
使这项工作的另一种方法是在代码的开头查询database1,将返回的值放在Array中,然后使用编辑器输入的条目从数组中读取值。