2013-07-16 85 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