0

私は通常、jQueryでこの種のことを行いますが、これにはサーバー側のタッチが必要になります。私はPHPを初めて使用し、数値の月を使用する基本的なスクリプトを作成するための支援が必要the_time('m')です。それが01に等しいかどうかを言いecho "#000"、他の月02、03、04などをループして、エコーを変えてもらいたいだけです。月が等しい場合は16進コード。

私の粗雑で間違ったコードを許してください、しかしこれは私が目指している解決策を視覚化するのに役立つと思いました。

style="background: #
<?php 
if(the_time('m') == "01") { 
    echo "000";
} else if (the_time('m') == "02"){
    echo "111";
} // so on through 12
?>
"

どんな助けでも大歓迎です。ありがとうございました。

私が現在内部にいるwhileループコードを編集します。

<?php while ( have_posts() ) : the_post(); ?>
<?php
$code = "f5f5f5"; // Set default
$month = the_time('m');

switch ($month) {
        case "01" :
    $code = "f5f5f5";
            break;

    case "02" :
    $code = "f3f3f3";
    break;

    case "03" :
    $code = "f1f1f1";
    break;

    case "04" :
    $code = "efefef";
    break;

    }
?>

<li id="event_<?php the_time('m_d_Y') ?>" style="background: #<?php echo $code ?>;">
4

4 に答える 4

6

私は実際にはその道をたどりませんが、私は次のようなことをします:

<div class="month-<?php echo strtolower(date('M')) ?>">Howdy</div>

// your CSS file:
.month-jan { background: #000; }
.month-feb { background: #FFF; }
// etc
于 2012-04-25T00:10:11.290 に答える
1

試す

<?php
$code = "000"; // Set default
$month = date ( "m" );

switch ($month) {
    case "02" :
        $code = "111";
        break;

    case "03" :
        $code = "CCC";
        break;

    case "04" :
        $code = "FFF";
        break;

}
?>
style="background: #<?php echo $code ?>"
于 2012-04-25T00:10:53.630 に答える
0
switch (date('n')) {
    case 1:
        echo "000";
        break;
    case 2:
        echo "111";
        break;
    ...
}

または、より単純です:

$colors = array(
    1 => "000",
    2 => "111",
    ...
);
echo $colors[date('n')];
于 2012-04-25T00:09:00.133 に答える
0

phpのdate関数を使用して月を取得し、1を減算し、16進数に変換して、3回繰り返します。

echo printf('%1$'.base_convert(date('n') - 1, 10, 16).'3d', date('n') - 1);

それは少しトリッキーで鈍感ですが、 sのswitchまたは巨大なチャンクを必要としないようにしますelseif

于 2012-04-25T00:14:41.193 に答える