【问题标题】:Modify SELECT queries using HTML buttons and output results below使用 HTML 按钮修改 SELECT 查询并在下面输出结果
【发布时间】:2014-01-22 12:21:11
【问题描述】:

我正在为学生创建一个时间表系统,我需要为我的 SQL 输出创建一个 GUI。

到目前为止,我有一个 HTML 表单来选择学习年份、教师和语言组。您还需要提供有效密码才能转到查询结果。

然后使用 "SUBMIT" bytton 和 POST 方法提交表单中的所有值。

SQL 查询本身会更复杂,但我希望您了解这个概念。

我希望创建(使用 HTML、SQLite 和 Python 或 PHP)以下界面:

http://img5.imageshack.us/img5/1951/qb6n.png

带有日期的字段将由 Python 使用 datetime 模块填充。

主要任务是创建这些按钮。他们每个人都会修改 SQL 查询,如其名称所示。

我可以计算例如前一天、前一周、后天和后一周。我不知道如何组合这些按钮,以便它们从顶部的字段中获取日期,例如执行前一天的 SQL 并在下面显示结果。如果您想看第二天,那么您只需单击“NEXT DAY”按钮并 BAM!您将获得所选日期的时间表。

我考虑了两种情况:

  • 创建包含两个框架的 HTML 网站:顶部框架带有控件,底部框架带有查询结果

  • 没有框架的网站 - 每次点击后都会重新创建整个页面,并且始终会在顶部创建控制按钮,然后会显示结果。

我也不知道如何在这些查询之间“存储”“当前”日期。是否有某种全局变量来存储它?

问题:

如何使用 SQL 查询创建这些按钮?

如何输出SQL查询并显示之前的按钮?

如何存储查询之间的日期?

如果您不能给出确切的答案,欢迎一般的cmet。

如果有不清楚的地方,请询问详情。

【问题讨论】:

    标签: php python html sql sqlite


    【解决方案1】:

    这可以使用 PHP 和 Ajax/Javascript。例如,我会制作一个单独的 PHP 文件,其中包含函数

    在您的 HTML 页面上,您的 head 标签中有一个脚本,用于从 PHP 页面获取此数据。

    <script>
    function DoRequest(){
    $.get('yourfunctions.php', {'action': 'today'}, function(response){
    document.getElementById("myDiv").innerHTML = response;
    });
    $.get('yourfunctions.php', {'action': 'yesterday'}, function(response){
    document.getElementById("myDiv").innerHTML = response;
    });
    }
    </script>
    

    在你的身体标签中

    <button type="button" onclick="DoRequest()">Load results</button>
    <div id="myDiv"></div>
    

    所以你的 php 页面可能看起来像这样。

    $todaysdate = //code to get date 
    $yesterdaysdate = //code to get date
    $dbconn = //connection to your database
    
    switch($action) {
           case 'today':
                       echo Today();
                       break;
           case 'yesterday':
                       echo Yesterday();
                       break;
    }
    
    function Today() {
          //Query today's timetable with $todaysdate
        }
    
    function Yesterday() {
          //Query today's timetable with $yesterdaysdate
        }
    

    这个页面应该解释如何获取日期并将它们放入变量PHP dates

    此外,您可能需要将变量设为全局变量以使其在函数中工作

    【讨论】:

    • 主要概念是你有一个HTML表单,你可以在其中选择年份、组和输入密码。然后,使用SUBMIT 按钮,您将获得一个类似于图表的新页面。在这个页面中,我需要得到这些结果。我通过
      中的脚本了解了这个想法 - 但是,我错过了 LOAD RESULTS 按钮的要点。结果不应显示在包含 HTML 表单的页面上。我需要在一页上获取表单,在另一页上获取按钮+查询结果。表格只会在开始时出现一次。
    • 对不起,您说的 HTML 表单,但是您链接的图像仅使用按钮,结果显示在按钮下方。你追求哪种方式,表单还是按钮?
    • HTML 表单位于带有结果的 PHP/CGI 页面之前。它的图表:img854.imageshack.us/img854/4360/513b.png。它允许您选择学习年份、教师、语言组,并且您还需要在适当的字段中输入正确的密码。然后你会得到一个带有控制按钮和查询输出的新页面。我想在你按下SEND REQUEST 之后执行的第一个查询应该是显示今天的时间表。然后您将能够选择其他日期(如前一天或下周)。图表为您翻译成英文。
    • 第一个带有的sn-p是什么语言?我发现它可能是 jQuery/Ajax。由于我对其中任何一个都不熟悉,所以我会选择 JavaScript 和 PHP。但是,我考虑转向 Python CGI(我会将您的示例翻译成 Python)。我想为按钮创建一个类似 getTimetable(date_shift) 的函数,以便“前一天”将是 getTimetable(-1) - 通过在 Python 中使用 timeDelta,我将能够完成此操作。我将尝试在每次 SELECT 后重新创建页面,并首先绘制一组按钮,然后在其间显示带有 HTML 表格标签的输出。
    猜你喜欢
    • 2017-03-01
    • 2017-06-04
    • 1970-01-01
    • 2022-11-01
    • 2018-03-15
    • 1970-01-01
    • 2019-05-31
    • 2015-07-09
    • 1970-01-01
    相关资源
    最近更新 更多