Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于当前月份隐藏表_Php_Html_Css - Fatal编程技术网

Php 基于当前月份隐藏表

Php 基于当前月份隐藏表,php,html,css,Php,Html,Css,这可能是一个相对简单的PHP脚本,但在尝试了一段时间后,我不知所措 我有一系列的表(见下文),我想自动隐藏月份已经过去的表。我正在考虑使用PHP生成嵌入式CSS来实现这一点。我需要一个基本上能做到这一点的脚本: <?php $x=1; do { echo "div.y!CURRENTYEAR!" echo "$x;," $x=$x+1; } while ($x < CURRENTMONTH) ?> 我基本上希望脚本写下: 2013年1月,2013年2月,2013年3月

这可能是一个相对简单的PHP脚本,但在尝试了一段时间后,我不知所措

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

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

我基本上希望脚本写下:

2013年1月,2013年2月,2013年3月

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

有一件事我真的不能做,那就是修改下面的标记

<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:
         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 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))
?>

我认为最好的方法是在过去的几个月里通过添加一个css类。php

这样您可以设置
显示:无到类中

生成的html应如下所示:

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

CSS:
.passed {display: none;}
.y2012, .y2013 .jan, .y2013 .feb, .y2013 .mar, .... {dispaly: none;}

我认为最好的方法是在过去的几个月里通过添加一个css类。php

这样您可以设置
显示:无到类中

生成的html应如下所示:

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

CSS:
.passed {display: none;}
.y2012, .y2013 .jan, .y2013 .feb, .y2013 .mar, .... {dispaly: none;}

我认为最好的方法是在过去的几个月里通过添加一个css类。php

这样您可以设置
显示:无到类中

生成的html应如下所示:

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

CSS:
.passed {display: none;}
.y2012, .y2013 .jan, .y2013 .feb, .y2013 .mar, .... {dispaly: none;}

我认为最好的方法是在过去的几个月里通过添加一个css类。php

这样您可以设置
显示:无到类中

生成的html应如下所示:

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

CSS:
.passed {display: none;}
.y2012, .y2013 .jan, .y2013 .feb, .y2013 .mar, .... {dispaly: none;}

一个简单的函数怎么样

<?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 
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 
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 
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)
?>



谢谢hugo,但不幸的是我无法轻松编辑HTML标记。它是由一个相当复杂的第三方工具生成的,我没有提到的是,这些页面中大约有30个都有相同的HTML日历标记,都由几十个人不断更新。@Nathan S你能用php生成css文件吗?否则你必须使用javascriptI我可以使用PHP生成嵌入的CSS,所以如果我跟随你,结果也是一样。是的,你必须使用PHP生成选择器这就是我要做的,但我不确定如何让PHP以正确的格式插入正确的月份。谢谢hugo,但不幸的是我无法轻松编辑HTML标记。它是由一个相当复杂的第三方工具生成的,我没有提到的是,这些页面中大约有30个都有相同的HTML日历标记,都由几十个人不断更新。@Nathan S你能用php生成css文件吗?否则你必须使用javascriptI我可以使用PHP生成嵌入的CSS,所以如果我跟随你,结果也是一样。是的,你必须使用PHP生成选择器这就是我要做的,但我不确定如何让PHP以正确的格式插入正确的月份。谢谢hugo,但不幸的是我无法轻松编辑HTML标记。它是由一个相当复杂的第三方工具生成的,我没有提到的是,这些页面中大约有30个都有相同的HTML日历标记,都由几十个人不断更新。@Nathan S你能用php生成css文件吗?否则你必须使用javascriptI我可以使用PHP生成嵌入的CSS,所以如果我跟随你,结果也是一样。是的,你必须使用PHP生成选择器这就是我要做的,但我不确定如何让PHP以正确的格式插入正确的月份。谢谢hugo,但不幸的是我无法轻松编辑HTML标记。它是由一个相当复杂的第三方工具生成的,我没有提到的是,这些页面中大约有30个都有相同的HTML日历标记,都由几十个人不断更新。@Nathan S你能用php生成css文件吗?否则你必须使用javascriptI我可以使用PHP生成嵌入式CSS,所以如果我跟随你,结果也是一样。是的,你必须使用PHP生成选择器这就是我试图做的,但我不确定如何让PHP以正确的格式插入正确的月份。这不起作用,因为我改变了它。我做错什么了吗?我已经试着把我的结果贴在原来的帖子上了。有什么想法吗?谢谢@Christine,我最后稍微修改了你的代码(while语句,而不是do-while等等)。谢谢!这不起作用,因为我改变了它。我做错什么了吗?我已经试着把我的结果贴在原来的帖子上了。有什么想法吗?谢谢@Christine,我最后稍微修改了你的代码(while语句,而不是do-while等等)。谢谢!这不起作用,因为我改变了它。我做错什么了吗?我已经试着把我的结果贴在原来的帖子上了。有什么想法吗?谢谢@Christine,我最后稍微修改了你的代码(while语句,而不是do-while等等)。谢谢!这不起作用,因为我改变了它。我做错什么了吗?我已经试着把我的结果贴在原来的帖子上了。有什么想法吗?谢谢@Christine,我最后稍微修改了你的代码(while语句,而不是do-while等等)。谢谢!