我有一个包含两个表的数据库,point 和 men。 作品已出版并版。一份出版物可以有多个版本。 点有三列: pub(例如,a、t、e)和edn 9ce、se、ne)。 现在a-ce=2点,a-se=1点,t-ce=3点,t-se=4点等等。 这些值被插入到点表中,这就完成了。 下 table 的人是高管们写当天工作的地方。 它有四列: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());
}
最佳答案
执行之前 INSERT query
在database2上你应该执行SELECT query
在database1上获取适当的point
,基于 $_POST['pub']
的值和$_POST['edn']
.
类似于:
"SELECT point FROM point WHERE pub = $_POST['pub'] AND edn = $_POST['edn']"
然后将返回的值添加到您的 $insertSQL
中字符串。
实现此目的的另一种方法是在代码开头查询database1,将返回的值放入数组中,然后使用编辑器输入的条目从数组中读取值。
关于php - 将与数据库表值混合的表单值插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17501791/