2017-06-22 66 views
0

我的頁面上有一個數據列表,它顯示了我的數據庫中的多個行作爲選項。我希望用戶能夠在數據列表中選擇其中一個選項,並通過頁面從數據庫中獲取該特定信息的其餘信息,並更改頁面上的HTML以輸出該信息。我知道有一種方法可以在不需要重新加載頁面的情況下進行,就像使用AJAX一樣,您將不得不使用PHP。我只是不知道如何。任何幫助?從數據庫中動態獲取信息

回答

2

對此參考http://api.jquery.com/jquery.ajax/ 使用jQuery是很容易一看(jQuery是一個JavaScript框架)

$.ajax({ 
    type: "GET", 
    url: 'test.php', 
    data: {"type":"check"}, 
    success: function(response){ 
     console.log(response); 
     //This is your content you get from your php file, now you can assign it to html using jQuery 
     $('p.print').html(response); 
    } 
}); 

Datalist中意味着你有一個選擇框?於是呼裏面是這樣的Ajax請求:

$('select').on('change', function() { 
    $(this).val(); //Get the option which was selected 
    //Ajax request here regarding to the selected option 
}); 
+0

只是一個加法和爲OP一張紙條:jQuery的html的()和的.text()方法可以用於提神的頁面組件也很有用,AJAX請求後。 – treecon

+0

我知道我在推動它,但是你能否詳細說明如何將它實現爲PHP文件?我對jQuery和AJAX都不熟悉...... – Kriss0612

+0

PHP是服務器站點,如果你想動態地做些事情,你需要JavaScript/jQuery這樣的瀏覽器站點語言。只有PHP是不可能的。你需要兩個才能做到這一點。如果刷新整個頁面,則可以使用PHP進行一些操作,但如果沒有頁面重新加載,則無法動態響應事件或其他內容。對於這件事你需要JavaScript – Schlumpf

0

的想法是發送一個Ajax請求到服務器時被觸發您的DataList一個javascript改變事件來獲取數據。假設你正在使用jQuery:

$('SELECTOR_FOR_DATALIST').on('change', function() { 
    var record_id = $(this).val(); // this gets the value of your selected data 
    var data = { 
     'id': record_id 
    }; 

    $.ajax({ 
     type: "GET", 
     url: 'endpoint.php', // this is your endpoint for server side processing 
     data: data, 
     success: function(response) { 
      // here's where you'll handle a successful response from the server 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      // handle error response here 
     } 
    }); 
}); 
+0

我知道我要求很多,對不起,但我怎麼會去做端點php文件?我的意思是,我知道如何從數據庫獲取信息,我只是不知道jQuery足以知道這裏是什麼。爲了能夠從數據庫中選擇正確的信息,我需要一個變量來比較數據庫中的信息,在這種情況下,用戶選擇了什麼。在通過jQuery傳遞後,該變量會在端點php文件中出現什麼? – Kriss0612

+0

像你說的那樣,你需要傳遞一個變量(一個ID)以便從數據庫中找到你需要的東西。在這種情況下,您需要用戶的選擇。 $(this).val()會給你這個值。 $(this)引用觸發'change'事件的jquery對象,也就是用戶的選擇。並且您將該信息作爲'id'發送到端點。在你的php腳本中,你會從請求中獲得'id'變量,這就是用戶的選擇 – pew007

+0

啊,我明白了,所以最終我會在端點腳本中有一個名爲$ id的PHP變量,我可以在腳本中使用。 jQuery如何檢索PHP腳本獲得的內容? – Kriss0612