Javascript 如何让PHP查询根据下拉列表选择某个表?

Javascript 如何让PHP查询根据下拉列表选择某个表?,javascript,php,html,mysql,amcharts,Javascript,Php,Html,Mysql,Amcharts,我有一个web程序,目标是为用户选择的特定窑绘制数据点。我的问题是,当用户想要选择一个新表时,我如何将所有单独的JSON页面更新到从他们选择的新表中提取数据的位置 这是我的下拉列表creater代码 窑号: 如果我正确理解了您的需求,那么您需要的是Ajax 您必须像您一样填充select,并且在每次select时,对a.php进行Ajax调用,您将在其中处理用户选择的内容。在您的例子中,这个.php文件将采用用户选择的表名,运行一个查询并将一些结果返回到html。出于演示目的,我将用一个示例

我有一个web程序,目标是为用户选择的特定窑绘制数据点。我的问题是,当用户想要选择一个新表时,我如何将所有单独的JSON页面更新到从他们选择的新表中提取数据的位置

这是我的下拉列表creater代码

窑号:


如果我正确理解了您的需求,那么您需要的是Ajax

您必须像您一样填充select,并且在每次select时,对a.php进行Ajax调用,您将在其中处理用户选择的内容。在您的例子中,这个.php文件将采用用户选择的表名,运行一个查询并将一些结果返回到html。出于演示目的,我将用一个示例进行解释

假设您在.html中有如下选择:

Select Value: 
    <select name="kilns" id="kilns">
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
        <option value="3">Option 3</option>
    </select>
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
    $kilns_error = 0;

    if (isset($_POST['kilns']) && !empty($_POST['kilns'])) {
        $kilns = $_POST['kilns'];
    } else {
        $kilns = null;
        $kilns_error = 1;
    }

    if ($kilns_error != 1) {
        echo json_encode($kilns);
    }
}
它的作用是,每当用户从
select
中选择某个内容时,就会调用此函数,其中select的值(
var data={'killns':this.value};
)通过
POST
发送到名为
submit.php
的文件。
submit.php
可以如下所示:

Select Value: 
    <select name="kilns" id="kilns">
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
        <option value="3">Option 3</option>
    </select>
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
    $kilns_error = 0;

    if (isset($_POST['kilns']) && !empty($_POST['kilns'])) {
        $kilns = $_POST['kilns'];
    } else {
        $kilns = null;
        $kilns_error = 1;
    }

    if ($kilns_error != 1) {
        echo json_encode($kilns);
    }
}
这里发生的事情是,在我们检查确实有一个
POST请求之后,我们检查该值是未定义的还是空的。在这个简单的检查之后,我们继续
echo json_encode($kilns)返回最初发送到.php脚本的值,实际上是用户选择的值


在您的例子中,您需要做的是在.php脚本中实际做一些事情,而不仅仅是返回调用它的值。另外,请确保通过白名单传递您获取的值,以确保用户选择了一个实际的表,并且没有试图为您的数据库创建问题,因为在实际选择之前,只需更改他要选择的表的值就很容易了。看看mysqli和PDO准备好的语句。

在这种情况下,您必须非常注意避免SQL注入。使用Konstantinos Vytiniotis提到的白名单方法,检查一下这一点

没有真正了解问题,但你不能将所选值保存在db\文件中吗?你的问题相当奇怪,因为上面的代码显示了一种知识水平,如果不知道如何在脚本之间传递变量,你将无法获得。要理解这一点,您必须理解表单、操作、服务器变量或ajax。创建一个答案让你理解所有这些概念是很难的。特别是考虑到上述事实。你从哪里得到这个密码的?非常感谢!很好用。听到这个消息我很高兴!:)如果这个答案满足了您的要求,那么请将其标记为解决方案,以帮助该问题的未来访问者。