php - 隐藏基于当前月份的表格

标签 php html css

这可能是一个比较简单的PHP脚本,但是尝试了一段时间后还是不知所措。

我有一系列表格(见下文),我想自动隐藏月份已经过去的表格。我正在考虑使用 PHP 生成嵌入式 CSS 来实现这一点。我需要一个基本上可以执行此操作的脚本:

<?php $x=1;
do
{
echo "div.y!CURRENTYEAR!"
echo "$x;,"
$x=$x+1;
}
while ($x < CURRENTMONTH)
?> 

我基本上想要脚本写出来:

div.y2013 .jan, div.y2013 .feb, div.y2013 .mar

依此类推,直到到达当前月份,这样我就可以隐藏它刚刚列出的所有表格。我不确定如何获取一个数值并将该数字转换为这个 purpsoe 的三个字母的月份代码,或者使用各种日期格式代码可能有更简单的方法来完成此操作。

我真的不能做的一件事是修改下面的标记。

<div class="y2013">
<table class="month jan">...data...</table>
<table class="month feb">...data...</table>
<table class="month mar">...data...</table>
...
<table class="month dec">...data...</table>
</div>

<div class="y2014">
<table class="month jan">...data...</table>
<table class="month feb">...data...</table>
<table class="month mar">...data...</table>
...
<table class="month dec">...data...</table>
</div>

编辑:

我已经尝试了以下但没有成功:

<?php 
function int2month($int)
{
   switch($int)
{
    case 1: return "jan";
    case 2: return "feb";
    case 3: return "mar";
    case 4: return "apr";
    case 5: return "may";
    case 6: return "jun";
    case 7: return "jul";
    case 8: return "aug";
    case 9: return "sep";
    case 10: return "oct";
    case 11: return "nov";
    case 12: return "nov";
    default: return "dec";
 }
}
$x=1;
do
{
    echo "div.y<?php echo date('Y'); ?>
"
    echo int2month($x).",";
    $x=$x+1;
}
while ($x < date(n))
?>

编辑:有效的最终代码:

<?php

function int2month($int)
{
    switch($int)
    {
         case 1: return "jan";
         case 2: return "feb";
         case 3: return "mar";
         case 4: return "apr";
         case 5: return "may";
         case 6: return "jun";
         case 7: return "jul";
         case 8: return "aug";
         case 9: return "sep";
         case 10: return "oct";
         case 11: return "nov";
         case 12:
         default: return "dec";
     }
}
$i = 1;
while ($i < date('m')):
   echo "div.y" . date('Y') . " .";
   echo int2month($i) . ", ";
   $i=$i+1;
endwhile;

echo ".place {display:none!important;}";
?>

最佳答案

简单的函数怎么样?

<?php 
function int2month($int)
{
    switch($int)
    {
        case 1: return "jan";
        //.......
        case 11: return "nov";
        case 12:
        default: return "dec";
    }
}
$x=1;
do
{
    echo "div.y!CURRENTYEAR!"
    echo int2month($x).",";
    $x=$x+1;
}
while ($x < CURRENTMONTH)
?>

关于php - 隐藏基于当前月份的表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19773886/

相关文章:

php - 如何对 MYSQL 查询进行排序以按字母顺序显示,数字最后,并且排序中不包含单词 "The"

javascript - 在 slickgrid 中新建分页工具栏

javascript - 我可以让一个 css div 类模拟一个不同的 css div 类吗?

javascript - 更改 selectInput 和 numericInput 框的外观/形状

html - 带有换行文本的 flexbox 元素之间的间距相等

html - CSS 两列布局打破了第一列的最后一个 div

css - 如何在SASS中通过他的 parent 计算字体大小?

php - CakePHP 2.x 使用 HABTM 连接表中的数据检索/查询

php - 根据文件扩展名和带超链接的文件数显示从 MySQL 上传的文件

PHP无法通过python连接mysql