【问题标题】:How to link a textbox value to a database row and then insert it如何将文本框值链接到数据库行,然后将其插入
【发布时间】:2012-04-02 23:07:44
【问题描述】:

我有一个文本框,它存储在用户的选项中。可能的选项是选项 3 一直到 26,“真或假”和“是或否”。

<input type="text" name="gridValues" class="gridTxt maxRow" readonly="readonly" />

现在在我的数据库中,我有一个名为“Options”的表,其中包含一个“OptionId”和“OptionType”字段。表格中的行如下所示:

OptionId  OptionType
O1        A-C
O2        A-D
O3        A-E

...

O24       Yes or No

现在,如果可能的话,我想要做的是,我希望应用程序中的选项 3-26 以及选项“真或假”和“是或否”与数据库中的“OptionId”链接。

例如:

If textbox equals 3 then this equals OptionId 'O1'
If textbox equals 4 then this equals OptionId 'O2'
If textbox equals 5 then this equals OptionId 'O3'

...

If textbox equals Yes or No then this equals OptionId 'O24'.

我希望发生这种情况,因为当我插入值时,我想在需要时在其他数据库表中插入“OptionId”。

这是否可行?如果可以,是否有人知道如何将文本框值链接到“OptionId”,然后将其插入到名为“Questions”的数据库表中?

【问题讨论】:

  • 哇,这是一个问得很糟糕的问题。
  • 以前曾在 SO 上以某种形式询问过这个问题,简单的谷歌搜索会让您更快地到达您需要去的地方。
  • 这是我关于 SO 的第一个问题,我是如何一遍又一遍地问这个问题的?

标签: php javascript mysql


【解决方案1】:

无法将文本框与 mysql 行链接。

您必须发送一个 ajax 请求,并在文本框的 onChange 事件上附加一个函数才能执行此操作。

我不打算介绍 ajax 部分,但您可以使用 jquery 执行类似的操作。

$("#yourtextbox").change(function() {
    var textval = this.value; //get the value
    $.post(
        "yourpage.php", //the page to update the text box based on the values
         { 
             'variablename': textval, 
             'action' : 'update' 
         }, //send the values
         function(data) {
             //do something on the success
         }
    );
});

【讨论】:

  • 你能展示一个ajax和onchange事件的例子吗,我以前从未使用过ajax
  • @user1309180,我用jQuery做了一个简单的例子。看看吧
  • 他可以在不使用 Ajax 的情况下提交表单,从他寻找一种将其发送到服务器的方法来看,它并没有出现,而是他想要一种将其插入数据库的方法,但也许我错了
  • @yohal:他如何在不发送到服务器的情况下从客户端获取到数据库?
  • 嗨,我不需要知道如何提交您评论过的表单,我只想知道,例如,如果文本框是“3”,我如何将它与“ OptionId''O1'?如果文本框是“4”,则将其链接到“OptionId”“O2”等。
【解决方案2】:

如果我正确理解您的问题,那么您想根据另一个表的值在一个表中插入,这可以通过 INSERT SELECT 来完成,如

INSERT INTO questions SELECT optionid FROM options WHERE optiontype = $selected_option

【讨论】:

  • 嗨,我认为这样的事情可能会起作用,但是“selected_option”变量中的内容是什么?
  • 它通常应该类似于 $_POST["gridValus"],但从你的问题来看,它看起来不像值直接映射到表值,如果是这种情况,那么你可以必须使用“开关盒”手动完成
  • 你能给我看一个你在 switch 语句中的代码示例吗>
  • 我不知道您的值如何链接到数据库中的选项类型,但如果选项 3 链接到 a-c 则执行 "case '3': $selected_value = 'A-C';break; ",如果您需要有关 switch case 语法的帮助,只需 google 或查看 PHP 文档
  • 您好,感谢您提供 switch 语句示例,我会看看我是否可以让它工作并稍后评论它是否有效:)。顺便说一句,将插入值的 php 代码将位于与应用程序不同的页面中,因此 switch 语句是否与查询在同一页面上或文本框在哪里?
猜你喜欢
  • 2011-05-05
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 2015-03-10
  • 1970-01-01
  • 2017-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多