如何使用 Ajax 和 Jquery 从 PHP 数据库中提取信息,并使用该信息填充元素?

Posted

技术标签:

【中文标题】如何使用 Ajax 和 Jquery 从 PHP 数据库中提取信息,并使用该信息填充元素?【英文标题】:How do I use Ajax and Jquery to pull information off a PHP database, and populate elements with that information? 【发布时间】:2011-01-12 08:21:19 【问题描述】:

我正在调整一个网站,以便员工更轻松地编辑产品。现在,必须有人登录数据库并更改价格,然后有人必须更改网站本身的物理 html

所以我正在编写代码,将所有产品从数据库中提取出来,并将它们显示在可以编辑的页面上。我认为用 Ajax 做任何事情都是最好的。

ajaxRequest.open("GET", url, true); ajaxRequest.send(null);

问题是,我只知道如何使用 URL(使用 POST、GET 等)处理 Ajax 请求。我需要帮助编写代码以从数据库中提取信息并显示它。

表名是PRODUCTS。 PRODUCTS 中有 ID、STOCK、SHORTNAME、DESCRIPTION、PRICE 和 SHIPPING 列。

在 HTML 中,我有一个 div 设置:

<div class="product">

   <div class="productName">
   SHORTNAME, PRICE, SHIPPING
   </div>
   <div class="productDesc">
   ID, DESCRIPTION, STOCK
   </div>

</div>

我想设置它,所以如果我单击一个按钮,ajax 会从 PRODUCT 中提取所有信息,并创建 .productName div。如果用户点击.productName,它将进一步展开以显示.productDesc

问题:如何在单击按钮时使用 AJAX 查询数据库,并将信息放入元素中?

【问题讨论】:

所以你不知道如何用php查询数据库? 好吧,我不知道如何使用 PHP 进行查询,但我只是在想有一种方法可以使用 ajax 进行查询。这样,我不必在加载时执行所有查询,我可以等到用户单击按钮。除非 Ajax 没有那个功能? 【参考方案1】:

Ajax 无法访问您的数据库。 Ajax 只是从 URL 加载内容。您的应用程序必须这样做,并将结果提供给 ajax 调用。

这是它的工作原理。

    浏览器在您的服务器上打开一个网址 PHP 呈现一个页面以在浏览器上显示 用户点击了一些东西 javascript 向您的服务器发送 Ajax 请求 PHP 收到此请求并查询数据库 PHP 为请求呈现响应 您页面上的 Ajax 处理程序以纯文本形式接收此响应并使用它执行一些有趣的操作(例如插入 HTML、评估 JSON 或执行 javascript)

Ajax 只是一种从 URL 加载响应的方法,而无需实际将浏览器导航到该页面。它没有(也不应该)有任何形式的直接数据库访问。事实上,它根本不知道有数据库。

想象一下,如果任何 javascript 可以读取或写入数据库中的任何字段,会出现安全问题。这将是一个黑客的梦想。

【讨论】:

好吧,有道理,如果是这样,那我该怎么做呢? 刚刚更新了一些有关步骤的更多信息。 ajax 部分非常简单。但肯定需要 PHP 方面的东西来获得对 ajax 查询的正确响应。【参考方案2】:

您必须编写一个 PHP 脚本来查询数据库并以 JSON 或 HTML 的形式返回结果。

这个脚本是通过 jQuery 调用的。例如

$('#main').load('http://your-url.com/yourscript.php');

这会将yourscript.php(假设它是HTML)生成的输出加载到ID为main的元素中。

您可以使用 jQuery here 找到 Ajax 教程。还有更多关于jQuery tutorials site的教程。

【讨论】:

【参考方案3】:

PHP - 实际上,jquery 似乎没有工作 - 一旦有人在 DB 中编辑它,应用程序每次点击都会获取最新信息。

除非我误解了您的问题,否则我认为这与 jQuery/AJAX 无关。

【讨论】:

以上是关于如何使用 Ajax 和 Jquery 从 PHP 数据库中提取信息,并使用该信息填充元素?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Ajax 和 Jquery 从 PHP 数据库中提取信息,并使用该信息填充元素?

jquery - 如何使用通过 AJAX 从 MySQL 和 PHP 检索的数据将图像添加到 Select2 下拉列表?

codeigniter php 和 jquery - 如何从多个表中获取数据并通过 ajax 返回

从 PHP (jQuery/AJAX) 插入 MySQL

PHP-AJAX:如何通过 php/json 数组从查询中填充 jquery 数据表

仅使用 jQuery (Ajax) 和 PHP 从 MySQL 获取最新消息? (在线聊天APP)