我想生成一个包含从下拉菜单中选择的值的查询。在没有单击提交按钮的情况下,他将值保存到更改的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 :(得分:1)
你最好的办法是看看jQuery。您可以创建一个onchange JavaScript事件,它将获取select选项的值并通过AJAX将其发送到PHP脚本,然后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 ) );
编辑以显示可能的解决方案
答案 1 :(得分: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'];
你需要调整一下以满足你的需求,但它涵盖了基础知识。
答案 2 :(得分: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;