php - ajax 类似结构

标签 php jquery mysql ajax

我将使其尽可能简短且具有描述性(考虑到我的案例更长)。 假设我有 2 个具有以下结构的数据库表:

用户表:

id ---- 用户名---- 金币

项目表:

id-----商品名称----商品价格

我想要实现的是集思广益,我尝试了 20 多个脚本组合。我需要能够将表​​中的所有项目回显为良好的布局(已完成) 有一个文本框供用户输入需要购买的值(value)。 a href 提交金额,从用户拥有的金币数量中扣除元素的价格,然后在库存中加1。我不需要 php 代码,因为它很简单。我所需要的只是尝试更新“Live”中键入的值的帮助。 “商店”的布局将如下所示:

while($_row = mysql_fetch_assoc($query)){
 echo out name...
 <input type = 'text' name = 'to_buy_value'/>
 <a href = 'javascript:;' class = 'buy'>Buy</a>
}

希望上面的代码能给你足够的引用。 TL;DR(在数据库结构之后?) 1- 一个文本框,其中包含一个 href 作为提交内容。 2-表更新是即时完成的(无需重新加载)。 Ajax 。 3- 能够一次购买超过 1 件商品,无需重新加载页面 4-除非必要,否则不需要 PHP 代码的帮助。 我将不胜感激任何形式的帮助。

最佳答案

这是一个非常粗略的解决方案。在 while 循环中,您可以将项目的数据库 id 附加到元素的 id:

while($_row = mysql_fetch_assoc($query)){
 echo out name...
 <input id="purchaseAmount{$_row->id}" type="text" name="value_to_buy" />
 <a id="purchaseButton{$_row->id}" href="#" class="buy">Buy</a>
}

然后将 JavaScript 函数绑定(bind)到您的“购买”链接,该链接将发出 AJAX 请求:

$('.buy').bind('click', function() {

  // Grab the item id and amount
  var itemId = $(this).attr('id').substring(14);
  var itemAmount = $('purchaseAmount' + itemId).val();

  $.ajax({
    url: 'someurl/purchaseItem.php',
    data: { item: itemId, amount: itemAmount },
    success: function(data) {
      // Update the player's gold and inventory on screen
    }
  });
});

“purchaseItem.php”文件可以返回一个简单的 JSON 对象,该对象保存玩家当前的金币和库存元素数量。或者您可以返回 HTML,具体取决于页面的设置方式。

关于php - ajax 类似结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10200778/

相关文章:

使用客户端凭据(X.509 证书)的 PHP Azure Active Directory API 访问

PHP 使用 Intelephense 调用 mysqli 的正确方法

jquery - 如何获取 div 的外部高度?

javascript - jQuery 日期范围之间的天数

php - 修改 Laravel 中的用户表

javascript - Node.js 和 Express 中的数据库配置文件应该放在哪里?

javascript - 如何仅在需要时处理 ajax 请求,而不是每次都处理

php-chmod() : No such file or directory

javascript - JQGrid 减少窗口调整大小事件中的列数

mysql - 用于选择除需要别名之外的所有内容的 SQL 查询