【问题标题】:Dynamic input fields for database insert数据库插入的动态输入字段
【发布时间】:2020-07-23 09:05:56
【问题描述】:

我正在做一个项目,用户将获得一个在线表格,他们必须填写项目。 我有许多不同的个人数据标签和一个标签用于项目名称,他们必须从下拉列表中进行选择(项目来自数据库)。

<label id="first">Item name</label><br/>
<select name="itemname" required>
    <?php 
    $sql = mysqli_query($con, "SELECT name FROM items");
    while ($row = $sql->fetch_assoc()){
        $naziv = $row['name'];
    echo '<option value="'.$naziv .'">'.$naziv .'</option>';
    }
    ?>
</select><br/>

现在这段代码运行良好,我也有一个数量字段。 现在,我不知道如何添加选项以添加多个输入字段,而无需声明更多的数据库列并为每个列单独输入。我能以某种方式做到这一点吗?

【问题讨论】:

  • 您是在谈论创建一个 标签列表,每个标签都有一个
  • 每个表单都有一个名为项目名称和项目数量的字段。项目名称具有所有项目的下拉列表。我正在尝试为它们添加 15 个字段,而不必在我的数据库中有 15 个列。数据库:id、itemname、itemquantity、date、personaldata...
  • 您有多个表格?这 15 个字段的来源是什么?还是一头雾水。你能发布一个完整的 HTML 示例吗?
  • 我目前没有我的文件,但想象一下,用户有一个输入个人数据的收据。在收据上,他们最多输入 15 个项目,但最少输入 1 个。他们的来源是一个包含所有项目的数据库,并且这些字段应将其内容发布到数据库中。我不确定如何形成一个数据库,以允许用户可以在一个收据上输入多个项目。

标签: javascript html sql


【解决方案1】:

您需要一个允许包含多个项目的收据的数据库结构。

您需要多个表。

创建一个名为“receipts”的新表:

TABLE receipts: id, (...personal data)

在项目表中添加一个名为“receipt_id”的字段。

TABLE items: id, receipt_id, itemname, itemquantity, date

您还应该有一个单独的表来包含可用的项目名称,用于填充上面的&lt;select&gt;

TABLE itemnames: id, name, (description?)

【讨论】:

  • 我一直在想这个方向,但是我怎么能在 html 表单上实现呢?例如,用户可以单击 + 号添加更多项目?
  • 您需要编写一个 JavaScript 函数来向表单添加新的输入。
猜你喜欢
  • 2015-06-21
  • 2021-01-23
  • 2019-04-14
  • 2014-12-13
  • 1970-01-01
  • 2021-01-26
  • 1970-01-01
  • 2015-10-18
  • 1970-01-01
相关资源
最近更新 更多