【问题标题】:Updating records in table with ID from another table使用另一个表的 ID 更新表中的记录
【发布时间】:2013-10-10 13:55:41
【问题描述】:

提前感谢任何帮助!

我有一个包含两个表的数据库,var table 和 val table。

变量表

可变的 图片 变量类型

验证表

有效 签名 优胜者 多变的

表具有一对多的关系,这意味着每个 var 有许多 val。

现在已经建立,我有一个表单,要求输入以填充该数据库。

  1. 用户可以一次性添加多个 val - 基本上我使用 ajax 设置表单,所以当用户完成字段时,它会发布到我的 vale 表,然后使用 ajax 刷新内容(而不是页面) /jquery 以便用户可以输入另一个 val/record。

  2. 一旦用户输入了所有的 val,用户应该添加 var 记录。当该 var 发布到 var 表时,会自动分配一个 varid,并且应该与用户输入的最后 X 个 val 相关联。

例如

变量表

可变 |图片 |变量类型
1 |测试.jpg |按钮

验证表

有效 |签名 |赢家 |多变
1 |真实 |真实 | 1
2 |假 |真实 | 1
3 |真实 |真实 | 1

无论如何,我需要帮助理解这背后的过程或理论......在我看来,它是这样的。

  1. 我的 ajax 应该有一个计数器来计算用户输入了多少 val。
  2. 在 val 表单提交到的 php 文件中,应输入数据,然后将刚刚输入的记录的 id 存储在一个数组中 - 将其传递回页面。每次添加记录时,都会存储有效的
  3. 当用户输入完 vals 后,将进入 var - 当调用 php 文件(与 val 文件分开)时,它将:
    a. 插入 var
    b. 获取 var 的 id
    c. 根据 var id 的 id 数组更新 val 表中的记录

这听起来对还是我完全在太空中的某个地方?

任何帮助将不胜感激。

【问题讨论】:

  • 对所有元素执行此操作:$("#secondtablefieldid").val($("#firsttablefieldid").val());
  • id 是在数据库级别设置的...不确定这对我有什么帮助...或者我可能遗漏了什么

标签: php jquery mysql ajax


【解决方案1】:

您可以创建一个$_SESSION var 并使用 MySQLS mysql_insert_id() 函数将所有“有效”数组填充。

然后在插入“var”表时,您可以简单地更新“val”表中与$_SESSION var 中存储的“valid”相匹配的行。

完成后不要忘记清除$_SESSION var。

【讨论】:

  • 也许这会帮助你进入正确的方向一点phpfiddle.org/main/code/10g-bct
  • 感谢您抽出时间为我写完。我认为这正是我所关注的,但话虽如此,我想尝试自己获得这个......我已经编写了一些代码,让我到达我需要的地方,但是当我尝试和回显我的会话变量,它返回“数组”。对我哪里出错有任何想法吗? $值数组=数组(); $_SESSION['valueid']=$valuearray; $valid=mysqli_insert_id($con); array_push($_SESSION['valueid'], $valid);
  • insert.php $valueidd = mysqli_insert_id($con); $_SESSION['vals'][] = $valueidd; **forminput.php** session_start(); if(!isset($_SESSION['vals'])) { $_SESSION['vals'] = array();当我尝试回显数组时,它总是回显第一个数组元素 [0],就好像每次我提交表单时它都会覆盖以前的数组值......所以数组/会话变量没有堆叠,而只是更新/覆盖。有什么想法吗?
  • 首先,当您简单地尝试回显 $_SESSION['valueid'] 返回 array() 的原因是因为它是一个 array()。尝试在数组上使用print_rvar_dump 并查看它返回的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-13
相关资源
最近更新 更多