【问题标题】:Php MYSQL Query on More than one Pages不止一页的php MYSQL查询
【发布时间】:2018-12-06 07:55:05
【问题描述】:

我开发了一个 PHP & Mysql 数据驱动的网站“学生进度报告门户”。它的导航栏包含第 1 页、第 2 页和第 3 页的 3 个链接。 第 1 页显示:学生进度整体测试结果百分比摘要(默认情况下,其 mysql 选择查询是从课程开始日期到至今),第 1 页还有两个日期类型文本框,进度报告按钮用于按日期显示学生测试进度“第 2 页”和考勤按钮可在第 3 页显示日期明智的考勤。

直接点击第2页链接,第3页链接什么都没有显示,因为首先,我们必须在第1页选择日期,然后必须单击进度按钮或出勤按钮以获取第2页上的“mysql基本查询结果”和第 3 页。在第 2 页和第 3 页获得结果后,当用户单击导航栏上的第 2 页和第 3 页链接时,它会刷新并且结果消失。尽管单击导航栏上的链接,我希望两者(第 2 页和第 3 页)都保持相同的结果。如何解决这个问题?

【问题讨论】:

    标签: php data-driven


    【解决方案1】:

    您可以使用 JavaScript 在您单击 Page2 或 Page3 时不刷新页面,就像 Bootstrap 中的“选项卡”一样 -> Bootstrap tab ( in the middle of the page )

    或者,您可以在一个系统中单击第 1 页,它只会获取您需要的前 20 个元素,在第 2 页上,第 21 个元素到第 40 个元素... 然后您发出 COUNT(*) 请求以了解您将拥有多少页。

    【讨论】:

      【解决方案2】:

      @user2332060,

      我从您的描述中了解到,您需要在所有三个页面上获得不同的结果:我建议使用 jQuery 和 ajax 来实现。

      当使用 mysql 查询(从日期到今天)在第 1 页上加载结果时,您有这些日期,当您单击 Page2 或 Page3 调用 ajax 函数并传递这些日期时,或者如果用户选择任何日期,则在 ajax 中传递并加载结果相应的第 3 页和第 3 页。

      现在,当您重新加载或刷新第 2 页或第 3 页时,您说结果消失了,因为您从未通知脚本从哪里获取数据,因此请尝试将 windows onload 函数放在 jquery 中,并为每个相应的页面使用默认的 mysql 查询。

      希望这会有所帮助!

      【讨论】:

        【解决方案3】:

        如果我正确理解您的问题,您要做的是传递第 1 页上选择的内容,以便该选择适用于第 2 页和第 3 页?如果我的理解是正确的,您可以做的是在浏览器中传递或发布您的选择。出于安全目的,您甚至可以对其进行哈希处理,以免被拦截。以下是您可以做什么的简要洗牌,如果我正确理解您的问题,我可以详细说明以下方法。

        第 1 页:

        if($_POST['date'] && ...){
        $url="page2.php?dt=$_POST['date']";
        }
        

        第 2 页:

        $date=$_REQUEST['dt'];
        $sql="... Where date='".$date."'";
        

        【讨论】:

          【解决方案4】:

          您可以使用会话或环境变量来执行此操作,当您使用自定义选择日期从 page1 重定向到 page2 时,您可以将它们存储在会话变量中。

          $_SESSION['page2'] = $date;
          

          同样,你可以为 page3 做

          $_SESSION['page3'] = $date;
          

          注意:为两个页面创建不同的会话密钥,并在每次加载 page1 时取消设置会话变量中的值

          unset($_SESSION['page2']);
          unset($_SESSION['page3']);
          

          希望对你有帮助。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-09-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-03-12
            相关资源
            最近更新 更多