在AJAX页面上包含用于SQL连接的PHP变量


Include PHP variables on AJAX page for SQL connection?

我有一个主文件,它正在发出一些ajax请求来更新MySQL结果,但它所连接的数据库会根据子目录中的配置进行更改。(/app/directory的index.php具有include: '../main.php'以及适当的SQL连接)

将此用于我的ajax请求:

<script>   $(function() {
    setInterval(function() {
        $.ajax({
            type: "GET",
            cache: false,
            url: <?php echo "'../fetch.php?year=$year&month=$month&date=$date'";?>,
            success: function(html) {
                $(".list").html(html);
           }
        });
    }, 5000); });
</script>

fetch.php是我的sql查询的副本

这只是返回一个sql错误,因为它没有携带它应该连接的数据库,所以它什么都没有连接。data: {club:<?php echo $club;?>},然后将$club分配给fetch.php文件上的相应数据库,但这似乎破坏了我的ajax请求(没有错误,只是没有轮询)。

如何制作一个使用ajax的包含页,该页依赖于其他地方声明的变量?

您是对的,Ajax调用和来自客户端的任何其他请求一样,无法访问在以前的请求中声明的资源。HTTP就是这样一个无状态的混乱。。。(当然,有一些机制可以解决这个问题,会话,隐藏字段,更神秘的东西,比如网络工作者…)

如果我理解正确的话,您的DB连接是通过index.php和main.php建立的,但您的ajax调用直接请求fetch.php。要访问您的数据库连接,您还需要在fetch.php中插入相应的文件(main.php?)。

顺便说一句,不必处理这些问题是使用提供单一入口点和路由的框架的主要原因之一

我是个白痴。我在URL中添加了一个变量(&club=$club),然后根据$_GET['club'] 分配ajax应该连接的数据库

这么简单,但我就是想不出来