将与数据库表值混合的表单值插入数据库

时间:2013-07-06 09:59:33

标签: php mysql

我有一个包含两个表的数据库,点和男人。 这些作品是出版和版本。一个出版物可以有多个版本。 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());
}

1 个答案:

答案 0 :(得分:0)

在对数据库2执行INSERT query之前,您应该根据SELECT querypoint的值,在适当的$_POST['pub']上对数据库1执行$_POST['edn']

类似的东西:

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

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

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