如何使用 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 返回