2010-02-02 131 views
2

我在调整一个网站,使员工更容易编辑产品。现在,有人必须登录到数据库并更改价格,然后有人必须更改网站本身的物理HTML。如何使用Ajax和Jquery从PHP数据库中提取信息,并使用该信息填充元素?

因此,我编写的代码将所有产品从数据库中提取出来,并将其显示在可编辑的页面上。我认为用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拉的所有信息OFF开关产品,并创建.productName股利。如果用户点击.productName,则会进一步展开以显示.productDesc

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

+0

所以你不知道如何用PHP查询数据库? – 2010-02-02 20:36:33

+0

嗯,我不知道如何使用PHP查询,但我只是想,有一种方法可以用ajax来完成。这样,我不必做所有的查询onload,我可以等到用户点击一个按钮。除非Ajax不具备该功能? – Jared 2010-02-02 20:38:29

回答

6

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

这是它的工作原理。

  1. 浏览器中打开一个网址,您的服务器上
  2. PHP呈现在浏览器上显示一个页面
  3. 用户点击的东西
  4. 的Javascript发送Ajax请求到服务器
  5. PHP临危这一请求,并查询数据库
  6. PHP呈现对请求的响应
  7. 页面上的Ajax处理程序以纯文本接收此响应,做一些有趣的事情(例如插入HTML,评估JSON或执行javascript)

Ajax只是一种加载来自URL的响应而不实际浏览您的浏览器到该页面的方式。它不(也不应该)有任何直接的数据库访问。实际上它根本不知道有一个数据库。

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

+0

好的,如果是这样的话,那么我将如何去做所有事情? – Jared 2010-02-02 20:44:17

+0

刚刚更新了一些涉及步骤的更多信息。 ajax部分非常简单。但肯定需要PHP的一面才能为ajax查询获得正确的响应。 – 2010-02-02 20:48:17

0

PHP - 实际上,它似乎没有jQuery的工作 - 一旦有人在数据库中编辑它,应用程序每获得一次最新信息。

除非我误解了你的问题,我没有看到这与jQuery/AJAX有关。

2

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

此脚本通过jQuery调用。例如。

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

这将加载由yourscript.php产生的输出(因为它是HTML)与ID main的元件。

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

+0

好吧,那会让我开始,谢谢! – Jared 2010-02-02 20:47:05