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

标签 php mysql

我有一个包含两个表的数据库,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/

相关文章:

mysql - 什么更有效,一个表有 100 列和更少的行或 5 列和多 30 倍的行

mysql - SORM 和 trait 作为字段类型

php - 我无法在我的主机上使用 Paypal IPN,如何解决?

php - 将 unicode 转换为 html 实体十六进制

php - 如何使用谷歌地图生成网络服务结果

mysql - 计算左连接表的空字段

c# - 从特定列搜索数据,其中要选取的数据按特定列中的重复项排序

mysqldump 恢复备份需要很长时间,有什么问题吗?

php - php 中的样式代码

php - 需要帮助从 mysql_fetch_array() 订购数据