2

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

3 回答 3

2

你最好看一下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 ) );

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

于 2013-07-16T19:50:38.497 回答
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'];

您必须对此进行一些调整以满足您的需求,但它涵盖了基础知识。

于 2013-07-16T19:47:06.657 回答
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;
于 2013-07-16T19:47:43.933 回答