2012-12-29 37 views
2

我想從數據庫中提取數據。但問題是我想獲取特定的數據,我不明白該怎麼做。我有不同的ID在數據庫中的3個相似的記錄。當我在組合框中選擇選項時,我需要一個一個的記錄。我的代碼如下:使用ajax從數據庫提取數據

<select name="q" onchange="myFuncyion()"> 
<option value="3*10">3*10</option> 
<option value="5*10">3*10</option> 
<option value="6*10">3*10</option> 
</select> 

上述選項在數據庫中存在不同的價格。我想要價格。但問題是這樣的。數據庫中存在相同的選項,並且具有不同的ID的多個價格。但我希望當我選擇一個選項,所以只有一個價格會從數據庫中獲取正確或等於該記錄的ID。

我想寫在數據庫中這種類型的查詢:

select * from tablename where size = "$size" and id = "$id" 

請幫助我如何能做到這一點用ajax?

+0

可能是你很清楚,但我不能明白你的問題,寫js/jquery函數myFuncyion或ajax腳本,可以從數據庫或兩者獲取數據? –

+0

我的問題是,我需要兩個變量從ajax發佈到操作頁面,並將其放入查詢中以從數據庫中獲取數據。 –

+0

好的。一個變量是下拉(select)的值,另一個值是什麼? –

回答

1

給選擇框賦予id。
<select id = "searchBox" name = "whateveryouhavespecified"...>

function myFuncyion(){ 
    //condition will have the value of your selectbox 
    var condition; 
    condition = $("#searchBox").val(); 
    $.ajax({ 
     type: "POST", 
     url: 'path to action page', 
     data: { action:'getlinks', topic_id: condition}, 
     success: function(data) { 
       //code of what after ajax is done. 
     } 
    }); 
} 

這是一個例子。設置你想要的地方的變量,我已經設置了我的變量。這樣selectbox的值就可以通過ajax傳遞給動作頁面。

PHP代碼

if(isset($_POST['action']) && $_POST['action']=='getlinks' && isset($_POST['topic_id']) && $_POST['topic_id']!=''){ 
    $query = "select * from tablename where fieldname1 = value1 and fieldname2 = value2;" 
} 

請注意,我在這裏沒有提到任何filteration過程,但它強烈建議filter the values before passing it to query。我已經提到了你所要求的而不是整個標準過程。