1

非常に簡単な質問がありますが、使用しているコードが機能しない理由がわかりません。

<div id="right_bottom">
<?
list($y, $m, $d) = explode('-', $pagedata->program->start);
foreach($pagedata->program->__workouts as $day => $workout){
   if (date('F j, Y', mktime(0, 0 ,0, $m, $day, $y)) <= date('F j, Y')){
?>
   <div id="right_side">
    <div id="<?=$workout->id?>" class="side_items">
     <a class="workouts" href="<?=$pagedata->program->id?>,<?=$day?>">
     <img src="<?=PROTOCOL?>//<?=DOMAIN?>/img/workout/<?=$workout->image?>"><br />
     <strong><?=$workout->title?></strong></a><br />
     <h2><?=date('F j, Y', mktime(0, 0 ,0, $m, $day, $y))?></h2><br />
   </div>
  </div>

<?
}
}
?>
</div>

IF条件ステートメントで、今日より前の日数または同じ日数の「right_side」DIVのみを表示したいと思います。

現在もすべての日が表示されています

私はここで何が欠けていますか?

4

2 に答える 2

3

あなたが2つの文字列を比較しようとしているので、私はそれを推測します。代わりに、UNIXタイムスタンプを比較してみてください。

if (mktime(0, 0 ,0, $m, $day, $y) <= time()){

お役に立てれば!

于 2012-06-05T01:41:16.457 に答える
1

文字列を10進値として比較している場合は、次を試してください。

if(strtotime($y.'-'.$m.'-'.$day) <= strtotime('today')){
    // ...
}
于 2012-06-05T01:41:35.443 に答える