2013-01-03 140 views
0

想問如何將if語句添加到以下代碼中。將if語句添加到PHP/HTML中

它所目前所做的是列表中的所有各自的月/年和組文章的標題下,在此從數據庫中新聞報道: 即 2012年5月 - 新聞A,黃頁行業資訊 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> 
+0

http://www.w3schools.com/php/php_if_else.asp – cgTag

+3

@MathewFoscarini你不應該使用W3Schools的 –

+2

w3school聯繫都沒有。在SO上得到了很好的接受,特別是當涉及到PHP的時候,在那裏可以找到大多數廢話:http://w3fools.com/ – markus

回答

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> 
+0

非常感謝Smuuf! 我還有另一個問題 - 由於某種原因,它顯示重複的月份(只有五月的然而?)我是否需要把它放到一個新的職位? –

0

在你<? while($innerarticle=mysql_fetch_array($innernews)){?>代碼,修改$innernews選擇查詢日期想要停止使用語法後顯示>

它也將更好地提供如何您的$innernews$news弗吉尼亞州可變結構被設置

1

Epoch Fail

好了,現在對於嚴肅的事情。

首先,您似乎在不必要地放入和退出PHP。將多於一行的PHP混爲一談是可以的!其次,你正在使用短標籤。雖然這可能有效,但它可能不會。最好始終使用<?php(除非您使用PHP 5.4或更新版本,在這種情況下,您可以使用<?=$something?>來回顯某些設置)。現在

,在實際problem.What你可以做的是:

$year = ...; 
if($year == 1970) echo "Sorry, news is not available for this date."; 
else { 
    // rest of your code to show news here 
} 
+0

+1爲圖片 –

+0

@DarylGill XKCD有一個一切的地帶,但他仍然出來了新鮮的東西......他很驚人XD –

0

你可以從date()改爲PHP的object-oriented DateTime class
- 這需要PHP V> = 5.2.0

<? 
$date = $article['thedate']; 
$dt = new DateTime($date); 
$year = $dt->format("Y"); 
$month = $dt->format("F"); 
?>