【发布时间】:2017-06-29 04:48:02
【问题描述】:
我正在继续处理我的多阶段引导表单,但我在尝试从我的数据库中提取信息时遇到了障碍。
主页是 PHP 并且被命名为 quote_tool.php
我有以下功能需求:
- 数据必须来自 MySQL 数据库。
- 用户应该只接收他们请求的数据(即,只有在用户选中单选按钮以在表单中包含用户许可时,才应该从数据库中获取包含用户许可信息的一行)。
- 需要从数据库中调用信息而不刷新/重新加载页面。
目前我的数据库中有一个包含以下列的表:
目前该表中有 3 种不同的产品。用户可以选择一个收音机来表示他们想要包含端点,然后有 3 个复选框允许用户输入他们想要包含的端点的数量。
输入字段如下所示:
<label for="device-9102" class="form-partner-label"><input type="checkbox" class="quote-chkbox" id="9102-chk"> 9102 IP Phone</label>
<input type="text" name="9102-quantity" class="form-endpoint-qty form-control" id="form-partner-9102" readonly value="0">
当用户选中该框并输入一个值时,该值会在摘要页面以及以下字段中动态更新:
<input type="text" readonly name="sum-9102-qty" class="summary-field sum-qty" id="sum-9102-qty">
关于此产品的摘要页面上还有 2 个其他字段。
- 建议零售价
- 部件号
MSRP 是一个隐藏字段,将用于其他计算,但部件号在摘要页面上可见。
当用户输入端点数量的值时,我需要调用数据库并从 refEndpoints 表中提取 MSRP 和部件号。
我目前正在构建一个函数,用于在用户点击表单上的“下一步”按钮时调用数据库,如下所示:
//Call DB to fetch part number and msrp of 9102
$('#form-partner-9102').change(function()){
var quantity_9102 = $('#form-partner-9102').val();
if(quantity_9102 !== 0) {
}
});
这是我坚持的一点。我不知道如何调用数据库并将部件号和 MSRP 的值放在摘要页面上的正确输入字段中。
【问题讨论】:
-
您正在寻找的技术称为 AJAX。在高层次上,您将创建一个服务器端“页面”(发出 JSON 数据而不是 HTML 页面的 PHP 文件),它接受所需的输入,从数据库中获取数据,并将输出写回。您的客户端 JavaScript 代码将向该“页面”的 URL 发出 AJAX 请求,将值作为您认为合适的 POST 或 GET 参数提供,并接收响应。然后,客户端代码将使用该响应在页面上执行它需要执行的任何操作。 JavaScript 不会与数据库对话,PHP 会代理这种交互。
标签: javascript php jquery mysql