Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery从select选项中获取要在PHP查询中使用的值_Php_Jquery - Fatal编程技术网

JQuery从select选项中获取要在PHP查询中使用的值

JQuery从select选项中获取要在PHP查询中使用的值,php,jquery,Php,Jquery,我想生成一个包含从下拉菜单中选择的值的查询。该值将在更改时保存到PHP变量中,而无需单击提交按钮。在看了各种文章之后,我仍然不确定我应该做什么。谢谢你的帮助。谢谢 下拉菜单 <select name="attribute_select" id="attribute_select"> <option value="select-type">-- Select --</option> <option value="joint_list">J

我想生成一个包含从下拉菜单中选择的值的查询。该值将在更改时保存到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>
查询

$panel_query = mysqli_query($con,"
        SELECT *
        FROM $tablename
");
$('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
            });
        }
    });
});

您必须使用
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'];
您必须对其进行一些调整以满足您的需要,但它涵盖了基本内容。

jQuery的

php


您最好看一下jQuery。您可以创建一个onchange JavaScript事件,该事件将获取select选项的值,并通过AJAX将其发送到PHP脚本,然后该脚本可以运行查询并返回结果

jQuery

$panel_query = mysqli_query($con,"
        SELECT *
        FROM $tablename
");
$('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 = value selected from drop down menu
$tablename = $_POST['selected'];

Run query here...

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

编辑以显示可能的解决方案

听起来好像您正试图根据
选择
更改的内容来更改页面上的某些内容。看看ajax和php的一些例子。如果我想在与脚本相同的页面中使用php值,我应该在url中放置什么?php脚本可以与ajax位于相同的页面上吗?您到底想用它实现什么?可能有更好的解决方案我正在寻找一种方法来生成数据库中具有类似字段的多个表的行。下拉菜单中的选择将决定从哪个表中选择行。