PHP刷新页面提交,编辑SQL查询

时间:2012-06-08 16:20:30

标签: php mysql

我有一个用PHP编写的页面,可以在所有月份和两个特定年份运行MySQL查询。当您转到该页面时,会出现一个包含结果数据的表格。

我想要做的是,在向用户提供此默认数据后,允许他们选择他们想要查看数据的月份/年份。所以,我需要让他们的下拉选项(默认为2011年1月到2012年12月)影响显示的数据。我正在使用WordPress,但这不是特定于WordPress的。

所以,我现在在PHP中运行的查询(有些字段是匿名的,以保护无辜者)是:

    SELECT * 
    FROM database.table
    Where MonthNum >=1
    AND MonthNum <=12
    AND Year >=2011
    AND Year <=2012

但是我想要做的是创建四个输入字段作为运行查询的HTML中的下拉列表。它们将是MonthMin(默认为1),MonthMax(默认为12),YearMin(默认为2011),YearMax(默认为2012)。因此查询将是:

    SELECT * 
    FROM database.table
    Where MonthNum >= MonthMin
    AND MonthNum <= MonthMax
    AND Year >= YearMin
    AND Year <= YearMax

因为它是从默认日期拉出来的,所以输出与第一个查询相同。但是,我想要做的是允许用户选择一组不同的日期,比如将MonthMin设置为2,从而忽略January,然后点击“Submit”,然后页面应重新加载但使用用户定义的数据在查询中而不是默认值。

不要担心让我注意SQL注入,我也在努力!

1 个答案:

答案 0 :(得分:1)

疑难杂症。你有几个选择。您可以“提交”而无需使用ajax刷新整个页面...或者您可以使用submit get / post传递所选值,并在页面加载时检查它们是否存在于$ _REQUEST中。如果它们被传入,则使用传入的值,仅当页面加载时$ _REQUEST中不存在新值时才会默认它们。