0

次のコードに if 文を追加する方法を教えてください。

現在行われているのは、データベースからのすべてのニュース記事をそれぞれの月/年のタイトルの下にリストし、記事をこの下にグループ化することです。つまり、2012 年 5 月 - ニュース A、ニュース B 2012 年 6 月 - ニュース C、2012 年 7 月 - ニュース D

UNIX の日付システムが使用されているため、1970 年より前のストーリーには問題があります。「機能している」ために現在使用しているシステムを変更したくありませんが、これに対する修正が見つかった場合(マイナスの数字を試しました....機能しません)、またはif以下のコードにステートメントを追加して、記事が表示されないようにする/1970年より前の記事のグループが作成されないようにすることができます:)

<h3>Archive</h3>
<? $news=$session->getNews("","","",1);?>
<? while($article=mysql_fetch_array($news)){?>
<? 
$date = $article['thedate'];
$year = date('Y', $date);
$month = date('F', $date);
?>
<h4><?=$month." - ".$year;?></h4>
<nav class="small">
<? $innernews=$session->getNews("",$month,$year);?>
<? while($innerarticle=mysql_fetch_array($innernews)){?>
<a href="/news/<?=$innerarticle['ftitle']?>" <? if($title==$innerarticle['ftitle']){?> class="active"<? }?>><?=$innerarticle['title']?></a>
<? }?>
</nav>
<? }?>
<h4>Pre-1970</h4>
<nav class="small">
<a href="#">See More - Currently Unavailable</a>
</nav>
</div>
4

4 に答える 4

1

エポックフェイル

さて、次は深刻な問題です。

まず、不必要に PHP に出入りしているようです。複数行の PHP を作成しても問題ありません。次に、短いタグを使用しています。これはうまくいくかもしれませんが、うまくいかないかもしれません。常に使用する<?phpことをお勧めします (ただし、PHP 5.4 以降を使用している場合を除きます。使用している場合は<?=$something?>、設定に関係なく何かをエコーするために使用できます)。

さて、実際の問題に移ります。できることは次のとおりです。

$year = ...;
if($year == 1970) echo "Sorry, news is not available for this date.";
else {
    // rest of your code to show news here
}
于 2013-01-03T01:25:44.663 に答える
0

マシュー・ハリントンが要求したのと同じくらい「粗野」:

<h3>Archive</h3>
<? $news=$session->getNews("","","",1);?>
<? while($article=mysql_fetch_array($news)){?>
<? 
$date = $article['thedate'];
$year = date('Y', $date);
$month = date('F', $date);
if ($year<1970) continue;
?>
<h4><?=$month." - ".$year;?></h4>
<nav class="small">
<? $innernews=$session->getNews("",$month,$year);?>
<? while($innerarticle=mysql_fetch_array($innernews)){?>
<a href="/news/<?=$innerarticle['ftitle']?>" <? if($title==$innerarticle['ftitle']){?> class="active"<? }?>><?=$innerarticle['title']?></a>
<? }?>
</nav>
<? }?>
<h4>Pre-1970</h4>
<nav class="small">
<a href="#">See More - Currently Unavailable</a>
</nav>
</div>
于 2013-01-03T01:27:24.283 に答える
0

<? while($innerarticle=mysql_fetch_array($innernews)){?>コードで$innernews、構文を使用して表示を停止した後、Select Datesのクエリを変更します。>

$innernewsAnd$news変数がどのように設定されているかを提供することもお勧めします

于 2013-01-03T01:19:50.923 に答える