0

想问一下如何在下面的代码中添加if语句。

它目前所做的是在各自月份/年份的标题下列出数据库中的所有新闻文章,并将这些文章分组:即 2012 年 5 月 - 新闻 A,新闻 B 2012 年 6 月 - 新闻 C 2012 年 7 月 - 新闻 D

由于使用的是 unix 日期系统,我们在 1970 年之前的故事中遇到了问题。我不希望更改我们目前使用的系统,因为它“工作”,但是,如果可以找到解决方案(我尝试过负数....它不起作用),或者如果可以在下面的代码中添加语句,以阻止显示文章/为 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

在您的<? while($innerarticle=mysql_fetch_array($innernews)){?>代码中,$innernews在您希望停止显示后使用语法修改您对 Select Dates的查询>

最好提供您的$innernewsAnd$news变量的设置方式

于 2013-01-03T01:19:50.923 回答
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

你可以把它改成date()php 的面向对象的DateTime
注意- 这需要 php v. >= 5.2.0

<?
$date = $article['thedate'];
$dt = new DateTime($date);
$year = $dt->format("Y");
$month = $dt->format("F");
?>
于 2013-01-03T01:35:25.960 回答