Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从另一个表更新ID为的表中的记录_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Php 从另一个表更新ID为的表中的记录

Php 从另一个表更新ID为的表中的记录,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,提前感谢您的帮助 我有一个数据库,有两个表,var表和val表 变量表 变种 形象 变形金刚 val表 有效的 信号 赢家 变种 这些表具有1对多关系,这意味着每个var有许多val 现在,我已经建立了一个表单,请求输入以填充该数据库 用户可以一次添加多个val—基本上,我使用ajax设置了表单,因此当用户完成字段时,它将发布到我的val表,然后使用ajax/jquery刷新内容(而不是页面),以便用户可以输入另一个val/记录 用户输入所有VAL后,应添加var记录。当var发布到var表时,

提前感谢您的帮助

我有一个数据库,有两个表,var表和val表

变量表 变种 形象 变形金刚

val表 有效的 信号 赢家 变种

这些表具有1对多关系,这意味着每个var有许多val

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

  • 用户可以一次添加多个val—基本上,我使用ajax设置了表单,因此当用户完成字段时,它将发布到我的val表,然后使用ajax/jquery刷新内容(而不是页面),以便用户可以输入另一个val/记录

  • 用户输入所有VAL后,应添加var记录。当var发布到var表时,varid将自动分配,并应与用户输入的最后X个VAL相关联

  • 比如说

    变量表 变量|图像|变量类型
    1 | test.jpg |按钮

    val表 有效的| sig |获胜者|变量
    1 |对|对| 1
    2 |假|真| 1
    3 |正确|正确| 1

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

  • 我的ajax应该有一个计数器来计算用户输入的VAL数量
  • 在提交val表单的php文件中,应该输入数据,然后将刚刚输入的记录的id存储在数组中—将其传递回页面。每次添加记录时,将存储有效的
  • 当用户完成输入val后,它将输入var-当调用php文件(与val文件分开)时,它将:
    a.插入变量
    b.获取var的id
    c.根据具有var id的id数组更新val表中的记录
  • 这听起来是对的还是我完全在太空中

    任何帮助都将不胜感激。

    您可以使用MySQLS函数创建一个var并用所有“有效”的数组填充它

    然后,在插入'var'表时,只需更新与存储在var中的'valid'匹配的'val'表行即可


    完成后不要忘记清除var。

    对所有元素执行此操作:$(“#secondtablefieldid”).val($(“#firsttablefieldid”).val();id设置在DB级别…不确定这对我有什么帮助…或者我遗漏了一些东西也许这会帮助你进入正确的方向。多谢你抽出时间为我写出来。我想这正是我所看到的,但话说回来,我想试着自己得到这个…我已经写了一些代码,让我到达我需要的地方,但当我尝试回显我的会话变量时,它返回“array”。你有没有想过我会错在哪里$valuearray=array()$_会话['valueid']=$valuearray$valid=mysqli\u insert\u id($con);数组推送($\会话['valueid',$valid);insert.php$valueidd=mysqli\u insert\u id($con)$_会话['VAL'][]=$valueidd**forminput.php**session_start();如果(!isset($\u SESSION['vals']){$\u SESSION['vals']=array();}当我尝试回显数组时,它总是回显第一个数组元素[0],就好像每次提交表单时它都会覆盖上一个数组值……因此数组/会话变量没有堆叠,而只是更新/覆盖。有什么想法吗?首先,当您尝试回显$\u会话['valueid']返回数组()时,原因是它是一个数组()。尝试在数组中使用或,并查看它返回的内容。