【问题标题】:how to store a dynamic form data in two different table?如何将动态表单数据存储在两个不同的表中?
【发布时间】:2019-08-20 20:43:59
【问题描述】:

我有一个表单,其中输入字段是通过带有 jquery 的按钮添加的。并且所有领域都有一个相关的另一个领域。实际上我正在添加“症状”,其中“相关医学”字段是通过“添加另一种药物”按钮添加的。其中“相关医学”还有另一个相关领域“等级”。一个症状可能有一些与等级不同的药物。 现在我必须将症状数据存储在“症状”表中,并且还必须将多个药物数据存储在“相关药物”表中。

药物输入框正在使用其他代码从“药物”表中获取自动搜索值。

先看我的代码。

<form method="post" action="">
  <div class="form-group">
    <input type="text" class="form-control" placeholder="Name" name="medname" 
    required>
  </div><!-- form-group -->

  <div class="form-group">
    <input type="text" class="form-control" name="medchap"                               
     placeholder="Chapter" required>
  </div><!-- form-group -->

  <div class="form-group">
    <input type="text" class="form-control" name="medsubchap"
    placeholder="Sub Chapter">
  </div><!-- form-group -->

  <div class="form-group">
    <input type="text" class="form-control" name="medsource"
    placeholder="Short Form" required>
  </div><!-- form-group -->

  <div class="form-group" id="add1">
    <input type="text" class="form-control" name="relmed"
    placeholder="related medicine" required>

    <input type="text" class="grade form-control" placeholder="Grade"><div 
    style="clear:both"></div>
  </div><!-- form-group -->

  <button id="btn1" class="btn btn-success btn-icon"><i class="typcn typcn- 
   document-add"></i></button>
    <br/>

   <button name="addmed" class="btn btn-az-primary pd-x-20">Add</button>
</form>

现在点击“#btn1”时...

<script>
        var i = 1;
        $("#btn1").click(function(e) {
            e.preventDefault();
        $("<div />", { "class":"add13", id:"input"+i })
            .append($("<input />", { placeholder: "Related Medicine", class:"medi form-control select2", id:"name"+i }))
            .append($("<input />", { type: "text", placeholder: "Grade", class:"grade form-control", id:"property"+i }))
            .appendTo("#add1");
        i++;
        });

        </script>

我的表结构如下

症状有 id,name,chapter,subchapter,shortform,pending,add by rows and relatedmedicine有id,name,grade,symtom

我正在尝试将所有数据存储在两个表中,但不知道如何将这些关系值存储到两个表中。

【问题讨论】:

  • 您遇到的具体问题是什么?
  • 到目前为止你做了什么?您是否收到了 php 中发布的数据?或者您需要帮助将其放入数据库吗?
  • @jminkler 我遇到的具体问题是将这些数据从#add1 div 获取并存储到relatedmedicine 表中。
  • @MehmetSÖĞÜNMEZ 我没解决,需要帮助,我应该如何从这种类型的输入中获取数据并存储到相关的医学表中?

标签: php jquery mysqli


【解决方案1】:

首先感谢您的提问。要将多个动态数据发送到后端,您必须对代码进行一些更改。比如你发related druggrade多个值那么你就得改,

  <div class="form-group" id="add1">
    <input type="text" class="form-control" name="relmed[]"
    placeholder="related medicine" required>

    <input type="text" class="grade form-control" placeholder="Grade" name="grade[]"><div 
    style="clear:both"></div>
  </div><!-- form-group -->

和 jQuery 追加应该像它一样改变-

 var i = 1;
    $("#btn1").click(function(e) {
        e.preventDefault();
    $("<div />", { "class":"add13", id:"input"+i })
        .append($("<input />", { placeholder: "Related Medicine", class:"medi form-control select2", id:"name"+i, name: "relmed[]" }))
        .append($("<input />", { type: "text", placeholder: "Grade", class:"grade form-control", id:"property"+i, name: "grade[]" }))
        .appendTo("#add1");
    i++;
    });

如果您使用 jquery ajax 将数据发送到后端,则必须使用 jquery form submit 将数据传递到后端。如果您使用 PHP 作为后端来存储相关药物和等级的多个数据,那么代码将是这样的-

<?php

    $related_medicins = $_POST['relmed'];
    $grades = $_POST['grade'];

    for($i=0; $i<count($related_medicins); $i++){
        if($related_medicins[$i]!='' && $grades[$i]!=''){

            $each_single_related_medicin = $related_medicins[$i];
            $each_single_grade = $grades[$i];
        }
    }


?>

谢谢。

【讨论】:

    猜你喜欢
    • 2013-01-21
    • 2011-06-24
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多