2011-04-19 112 views
1

这里是我的场景:使用Php和JQuery获取MySQL记录

我有一个下拉菜单,具有不同的值。当选择“A”选项时,我希望它使用JQuery来调用Php脚本。该Php脚本将进行一个数据库查询,它返回一个记录ID。当该记录ID返回给JavaScript,JavaScript的将直接在浏览器根据返回的ID特定的URL(即/产品/ $ ID

现在,我有它,这样的下拉菜单触发一个javascript函数。我也有数据库工作的PHP脚本。我只是不知道应该在JavaScript函数,或如何使它与PHP脚本连接,以及如何获得返回的数据(以及如何处理返回类型 - xml,html等)

我使用JQuery库和PHP 5.x.

+0

是的,我知道我那些步骤了,但是我不能确定的实施是如何工作的。对不起,当我找到我的答案时,我总是忘记点击'接受'的事情! :) – djt 2011-04-19 20:05:20

回答

2

一个简单的例子是采取一种形式像

使用example.php

<form id="form" name="form">   
    <select name="dropdown" id="dropdown"> 
     <option value="A">A</option> 
     <option value="B">B</option> 
     <option value="C">C</option> 
     <option value="D">D</option> 
    </select> 

    <input type="submit" id="submit" name="submit" value="Submit!" /> 
</form> 

然后与一些JQuery的链接它拦截形式,并将其发送到一个PHP文件

JQuery.js

​​

然后,创建PHP文件来解释它

query.php

$stmt = $sql->dbh->prepare("SELECT `Link` FROM `Links` WHERE `ID` = :id"); 

$stmt->bindValue(':id', $_POST['dropdown']); 

$stmt->execute(); 

$link = $stmt->fetch()['Link']; 

echo json_encode(array('link' => "{$link}")); 

die(); 
1
$("#menu-item").click(function() { 

    jQuery.ajax({ 
     type: "POST", 
     url: "yourScript.php", 
     data: "data=foo", 
     success: function(response){ 
      //redirect to id using response 
      window.location.replace("http://yoursite.com/products/" + response); 
     } 
    }); 

}); 

当然,这将需要根据您的独特情况进行定制。

+0

但什么格式是'响应'?以及如何访问其中的数据? – djt 2011-04-19 20:13:04

+0

响应是从您的PHP脚本返回的任何数据。这可以是从JSON到HTML到字符串的任何内容。 JSON通常是发送数据的最佳方式,但是,由于jQuery具有出色的.parseJSON功能 – 2011-04-19 20:15:01

+0

感谢您的支持,即时消息几乎就在那里。仍然有一些与回归的问题,但病倒了 – djt 2011-04-19 20:35:14