2011-04-19 127 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