2013-07-16 169 views
2

我想生成一個包含從下拉菜單中選擇的值的查詢。他的價值將被保存到變量的PHP變量中,無需點擊提交按鈕。看過各種文章後,我仍然不確定自己應該做什麼。我很感謝你的幫助。謝謝!JQuery-從選擇選項中獲取值以用於PHP查詢

下拉菜單

<select name="attribute_select" id="attribute_select"> 
    <option value="select-type">-- Select --</option> 
    <option value="joint_list">Joint</option> 
    <option value="collection_list">Collection</option> 
    <option value="panel_list">Panel</option> 
    <option value="wood_list">Wood</option> 
</select> 

PHP

$tablename = value selected from drop down menu 

查詢

$panel_query = mysqli_query($con," 
     SELECT * 
     FROM $tablename 
"); 
+0

聽起來像你試圖改變基於什麼的'選擇頁面上的東西'變成了。看一些ajax和php的例子。 – Danny

回答

0

你必須使用change事件以及一個AJAX調用值發送回服務器端:

$("#attribute_select").change(function() { 
    //get the selected value 
    var selectedValue = this.value; 

    //make the ajax call 
    $.ajax({ 
     url: 'yourPHPfile.php', 
     type: 'POST', 
     data: {option : selectedValue}, 
     success: function() { 
      console.log("Data sent!"); 
     } 
    }); 
}); 

而在你的PHP,趕上與價值:

$tablename = $_POST['option']; 

你必須調整這個有點適合你的需求,但它涵蓋了基本知識。

+0

如果我想在腳本的同一頁面中使用PHP值,我會在網址中放置什麼? – izharbuen

0

jQuery的.change()

$('select').on('change', function(){ 
    $.ajax({ 
     url: '/' 
     type: 'POST', 
     data: {'selected' : $(this).val()}, 
     success: function(data){ 
      console.log(data); // do something with what is returned 
     } 
    }); 
}); 

PHP

<?php 
if(isset($_['selected'])): 
    //create query using variable 
endif; 
1

你最好的辦法是看jQuery的。您可以創建一個onchange JavaScript事件,它將獲取select選項的值並通過AJAX將其發送到PHP腳本,然後該腳本可以運行查詢並返回結果。

jQuery的

$('select').on('change', function(){ 
    $.ajax({ 
     url: 'your/php/script.php' 
     type: 'POST', 
     dataType: 'json', 
     data: { 
      'selected' : $(this).val() 
     }, 
     success: function(data){ 
      // Loop through your results in jQuery and modify your HTML elements 
      $.each(data, function(key, value) { 
       // Do something with each row of your results 
      }); 
     } 
    }); 
}); 

PHP

$tablename = $_POST['selected']; 

Run query here... 

header('Content-type: application/json'); 
die(json_encode($yourQueryResults)); 

編輯,以顯示可能的解決方案

+0

PHP腳本可以與AJAX在同一頁上嗎? – izharbuen

+0

你究竟想用這個來達到什麼目的?可能有更好的解決方案 – MajorCaiger

+0

我正在尋找一種方法來生成我的數據庫中具有相似字段的多個表的行。下拉菜單中的選擇將決定從哪個表中選擇行。 – izharbuen