2011-08-18 76 views
0

對於以下代碼,$count++會打印出從1開始向上的數字行。自動填充實際月份的第一個日期的HTML表格中的第一列

我怎麼能從2010年9月1日上午6點開始每月更換一次? (我第一行有2010年9月1日,第二行有2010年10月1日等?)

我想日期是在一個格式,可以讓我比較來自MySQL的時間戳

$result = mysql_query($sqlStr3); 
$count = 1; 
$arr = array(); 
echo "<table>"; 
    while ($row = mysql_fetch_array($result)) { 

      echo '<tr >'; 
      echo '<td >'.$count++.'</td>'; 

回答

0

我是strtotime()功能的粉絲。它需要一個可讀的字符串並將其轉換爲Unix時間戳,並且它也能很好地處理相對時間。

首先,創建一個變量,你最初的日期:

$date = strtotime("September 1, 2010"); 

在循環每個月通過簡單1個月增加了變量,創建:

$date = strtotime("+1 month", $date); 

您可以使用date()格式化將時間戳輸出到您的列表中:

echo date("F j, Y", $date); 

您可以看到全系列格式here。或者,如果您使用的是PHP 5.3,則可以充分利用the DateTime object(5.2中介紹,但DateTime::add()之前的內容在5.3之前不存在)。

只要與MySQL兼容,您可以使用MySQL函數UNIX_TIMESTAMP從查詢中返回Unix時間戳,或者通過strtotime()運行MySQL時間戳,並將其轉換爲Unix時間戳。

+0

好的,謝謝。我會在表格欄中放入什麼? – John

+0

@John格式化日期的日期函數進入列內,即'echo「​​」。日期(「F j,Y」,$ date)。 「」' – AgentConundrum

+0

當我這樣做,每一行都有相同的日期......我如何讓他們上升? – John

相關問題