javascript - JQuery从MySQL获取数据并存储到变量中

标签 javascript php jquery mysql

我正在继续处理我的多阶段引导表单,但在尝试从数据库中提取信息时遇到了障碍。

主页面是PHP,名为quote_tool.php

我有以下功能要求:

  1. 数据必须来自MySQL数据库。
  2. 用户应该只接收他们请求的数据(即,只有当用户选中单选按钮以在表单上包含用户许可证时,才应从数据库中获取包含用户许可证信息的行)。
  3. 需要从数据库调用信息,而无需刷新/重新加载页面。

目前我的数据库中有一个表,其中包含以下列:

enter image description here

目前该表中有 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 表中提取建议零售价和部件号。

我目前正在构建一个函数,当用户点击表单上的“下一步”按钮时调用数据库,如下所示:

//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) {

        }
    });

这就是我所坚持的点。我不知道如何调用数据库并将零件号和建议零售价的值放入摘要页面上的正确输入字段中。

最佳答案

jQuery 在客户端运行,因此无法直接连接到 MySQL,但是您的问题被标记为 ,它在服务器端运行,因此可以连接到您的数据库。首先,您需要设置一个可以响应 HTTP POST 请求并返回 JSON 的 PHP 文件。这是一个很好的答案,向您展示了如何执行此操作:Returning JSON from PHP to JavaScript?

设置完成后(您需要了解此 PHP 文件接受哪些参数以及如何将其转换为查询以便能够响应),您现在可以设置一些简单的 JavaScript 来调用此 PHP 文件(我们称其为query.php)。执行此操作的代码可能如下所示:

$.post('/query.php', {quantity: $('#form-partner-9102').val()}, function(resp) {
  $('#PartNumber').html(resp.PartNumber);
});

需要记住的一些重要事项是始终确保使用 prepared statements当获取用户输入并将其转换为查询时(不要仅通过 joining strings 构建 SELECT 语句)。另请务必查看您的事件绑定(bind),您可以为您的输入编写一个通用处理程序,将合作伙伴 ID 作为 data-* attribute使您的代码更小且更易于维护。

关于javascript - JQuery从MySQL获取数据并存储到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44809655/

相关文章:

javascript - Cognito 用户授权访问 s3 对象?

php - 我如何在 PHP 而不是 MySQL 中进行 groupby 或 groupconcat ?

jquery - 防止固定位置导航栏与粘性页脚重叠

javascript - Internet Explorer 上的 jquery ajax 问题

ruby-on-rails - Rails 模型中的自定义非数据库属性未返回到 jquery 回调

javascript - typescript -我在使用函数的返回值时遇到问题

javascript - extJs 5 - 网格多级分组

javascript - Plotly.js 时间序列图表上的渐变颜色

php - 我如何使用 mysql php 将数组值存储在数据库中

php regex - 在字符串中查找字符串