我的链接示例如下"/jet/index.php?year=2011&quarter=Q1"现在我需要显示包含2011年第一季度前几个月的页面。/jet/index.php?年份=2011&季度=Q1将显示为4月至5月至6月。等等
我的代码看起来像这个
<a href="index.php?year=2011&quarter=Q1">
<a href="index.php?year=2011&quarter=Q2">
<a href="index.php?year=2011&quarter=Q1">
<a href="index.php?year=2011&quarter=Q4">
我的主页,也就是2012年运行良好,这是代码
<?php
$quarters = array('Q1' => 'firstq2012.php', 'Q2' => 'secondq2012.php', 'Q3' => 'thirdq2012.php', 'Q4' => 'fourthq2012.php');
if(isset($_GET['quarter'])) {
if(in_array($_GET['quarter'], array_keys($quarters))) {
include_once $quarters[$_GET['quarter']];
} else {
header('Location: 404.php');
}
} else {
include_once $quarters['Q3'];
}
?>
我需要你的帮助,从2012年到2011年的过渡会是什么样子(我通过链接)
谢谢!
我会完全更改您的代码。。。
检查并包括季度的代码
<?php
if(isset($_GET['year']) && isset($_GET['quarter'])) {
// get params
$year = (strlen($_GET['year']) == 4 && is_numeric($_GET['year']) ? (int)$_GET['year'] : date('Y'));
$quarter = (substr($_GET['quarter'], 0, 1) == 'Q' && is_numeric(substr($_GET['quarter'], 1, 1)) ? (int)substr($_GET['quarter'], 1, 1) : ceil(date('n') / 4));
$quartalsNumberToName = array(
1 => 'first',
2 => 'second',
3 => 'third',
4 => 'fourth'
);
$filename = $quartalsNumberToName[$quarter] .'q'. $year .'.php';
if(file_exists($filename)) {
include_once($filename);
} else {
header('Location: 404.php');
exit;
}
} else {
include_once($quartalsNumberToNume[3] .'q2012.php';
}
?>
生成链接的代码:
<ul>
<?php
// the start year
$yearStart = 2011;
for($i = $yearStart; $i <= date('Y'); $i++) {
for($j = 1; $j <= 4; $j++) {
?>
<li><a href="index.php?year=<?php echo($i); ?>&quarter=Q<?php echo($j); ?>">Year <?php echo($i); ?>, Quarter <?php echo($j); ?></a></li>
<?php
}
}
?>
</ul>
未经测试。。。但应该有效。