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

时间:2010-02-02 20:32:21

标签: php jquery database ajax

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

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

ajaxRequest.open(“GET”,url,true);  ajaxRequest.send(NULL);

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

表名是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查询数据库,并将信息放入元素中?

3 个答案:

答案 0 :(得分:6)

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

以下是它的工作方式。

  1. 浏览器在您的服务器上打开一个网址
  2. PHP呈现要在浏览器上显示的页面
  3. 用户点击内容
  4. Javascript向您的服务器发送Ajax请求
  5. PHP收到此请求并查询数据库
  6. PHP呈现请求的响应
  7. 页面上的Ajax处理程序以纯文本形式接收此响应,并使用它做一些有趣的事情(例如插入HTML,评估JSON或执行javascript)
  8. Ajax只是一种从URL加载响应而无需实际导航浏览器到该页面的方法。它不(也不应该)具有任何类型的直接数据库访问权限。事实上,它根本不知道有数据库。

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

答案 1 :(得分:2)

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

这个脚本是通过jQuery调用的。 E.g。

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

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

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

答案 2 :(得分:0)

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

除非我误解了你的问题,否则我认为这与jQuery / AJAX没有任何关系。