【问题标题】:Insert checkbox data from html form to sql using java使用java将复选框数据从html表单插入到sql
【发布时间】:2020-03-18 15:28:08
【问题描述】:

我有一个简单的表单,它将 StudentId 作为 text 并使用 复选框 选择最喜欢的 Cars在 HTML 中。

现在,我想用 Java 创建一个 servlet,它从这个表单中获取值并存储在 MySql 数据库中。

<form action="/servlet">
    <label>Student Id : </label><input type="text" name"sid"></br>
    <label>Cars : </label></br>
        <input type="checkbox" name="cars" value="BMW">
        <input type="checkbox" name="cars" value="Mercedes">
        <input type="checkbox" name="cars" value="Hyundai">
        <input type="checkbox" name="cars" value="Toyota">
    <input type="submit" value="Submit">
</form>

我困惑的一点是,如何在MySql中插入这个复选框“Cars”的数据?

我可以在变量中获取数组

String[] cars = request.getPrameterValues("cars");

但是如何将这个数组存储在 MySql 中名为 cars 的列中。

这个东西在No-Sql中很容易实现

起初,我想制作一个逗号分隔值的字符串并简单地将其存储在列中,但在检索时,这将是很多代码。所以,我想知道是否有其他更好的方法来实现这一点。

【问题讨论】:

  • 先了解一下sql和规范化。然后创建您的表格,然后您将知道如何将每辆车作为单独的记录插入到您的表格中。创建表格后,插入部分就很简单了。
  • @issac 我需要为 Cars 创建另一个表并在检索时使用 join 吗?
  • 提示 - 了解 1 to many 关系和 many to many 关系。

标签: java mysql forms servlets


【解决方案1】:

我好像你的逻辑不正确,为什么?

通常这些数据应该存储在数据库中,然后为了显示它们,你调用你的表并以 HTML 显示结果。但是在您的情况下,您编写了 IHM 代码并想要填充数据库,这是不正确的。

所以为了解决这个问题,在你的数据库中创建一个名为 car 或 model 的表,用不同的信息填充它,每辆汽车都应该是原始的。并且不要使用数据库中的数组来操作汽车,这不是一个好习惯。

【讨论】:

  • 那么,数据库中的复选框是如何处理的?
  • @Genius 从数据库中获取信息,将所有信息存储在对象列表中,然后填写复选框
  • 是的,我明白了,但我的疑问是 - 复选框如何存储在数据库中,创建表时使用的数据类型是什么?
  • 不要存储复选框,而是存储应该是BMWMercedes ..的值。
  • 你的意思是布尔值?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-28
  • 1970-01-01
  • 2021-06-20
  • 2016-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多