gpt4 book ai didi

php - 如何获取当前年份并在 MySQL 中使用它作为过滤器?

转载 作者:行者123 更新时间:2023-11-29 07:51:54 24 4
gpt4 key购买 nike

在我的页面上,我显示了许多结果。我希望访问者能够根据年份对结果应用过滤器。因此,如果用户选择过滤器“2014”,则仅应显示 2014 年的结果。

到目前为止我已经为 SQL 创建了这个:

$sql="SELECT * FROM $tbl_name";
if ($_GET['year'] == '2013')
{
$sql .= " AND year=2013 ORDER BY date DESC";
}
elseif ($_GET['year'] == '2014')
{
$sql .= " AND year=2014 ORDER BY date DESC";
}

过滤器由 <a href> 触发标签,像这样:

<select onChange="window.open(this.options[this.selectedIndex].value,'_self')"> 
<option value="page.php?year=2013">2013</option>
<option value="page.php?year=2014">2014</option>
</select>

基本上,onChange重新加载页面,设置年份,使用 _GET方法。

这一切都运行得很好。除了一件事。我需要每年手动更改代码,以便使选项值与当前年份保持更新。所以,一旦新的一年开始,我就必须自己更新代码。有没有办法自动执行此操作?

更新

我有一个创建选项标签的脚本,从 2012 年开始到当前年份结束:

var filteryear = '2012';
var filtertill = new Date().getFullYear();
var foptions = "";
for(var fy=filteryear; fy<=filtertill; fy++){
foptions += "<option value='urenregistratie_all.php?jaar="+ fy +"'>"+ fy +"</option>";
}
document.getElementById("filteryear").innerHTML = foptions;

所以问题不在 <option> 中部分,它是MySQL应该随之增加的部分...

最佳答案

尝试使用这样的东西:

HTML

<select onChange="window.open(this.options[this.selectedIndex].value,'_self')"> 
<?php
$year = 2013;
while($year <= date('Y')){
echo '<option value="page.php?year='.$year.'">'.$year.'</option>';
$year++;
}
?>
</select>

PHP

$sql="SELECT date,year FROM $tbl";

$year = 2013;

while($year <= date('Y')){
if($year == $_GET['year']){
$sql .= " AND year=$year ORDER BY date DESC";
}
$year++;
}

关于php - 如何获取当前年份并在 MySQL 中使用它作为过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26188155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com