2011-02-04 93 views
0

我正在構建我自己的小博客平臺,作爲PHP和MySQL中的練習/趣味/練習。我目前使用下面的代碼輸出正確的格式(這完美的作品):如何在<<< _ END HTML標籤中使用關聯數組?

$rows=mysql_num_rows($postsresult); 
for ($j=0 ; $j < $rows ; ++$j){ 
    $row=mysql_fetch_row($postsresult); 

    echo <<<_END 
    <div class="titlebox"> $row[3] </div> 
    <div class="maincontent"> $row[2] 
    <div class="postclosercontainer"> 
    <div class="postcloser">Sincerely, <br /> 
    Samuel'<span>Explosion Festival</span>' Shenaniganfest </div> 
    </div></div> 
_END; 
} 

然而,我發現,while($info=mysql_fetch_array($postsresult){會更容易對代碼,數據是通過名稱而不是存儲數組編號(其中,任何超過幾個字段,變得加重記住)。

我試圖用before while循環更新代碼,但發現當我按名稱從數組中拉出數據時,它不再在< < < _END標記中正常運行。

例如:<div class="titlebox"> $data['title']生成錯誤。

有沒有什麼辦法可以在< < < _END標籤中完成這項工作,還是應該爲每一行使用打印功能?另一方面,這是否是合適的編碼技術? (我只是一個業餘愛好者。)

回答

2

更好的是直接編寫HTML。這樣可以更容易地維護您的HTML,並且您可以使用IDE中的功能,如語法突出顯示或代碼完成。

實施例:

<?php 
// your other code  
?> 

<?php while(($info=mysql_fetch_array($postsresult))): ?> 
    <div class="titlebox"><?php echo $info['title']; ?> </div> 
    <div class="maincontent"> 
     <?php echo $info['content']; ?> 
     <div class="postclosercontainer"> 
       <div class="postcloser">Sincerely, <br /> 
        Samuel'<span>Explosion Festival</span>' Shenaniganfest 
       </div> 
     </div> 
    </div> 
<?php endwhile; ?> 

我使用的alternative syntax for control structures。它在處理HTML時增加了可讀性,尤其是如果您有嵌套的控制結構(嵌入HTML時更難以發現括號)。

+0

+1對於HTML,不通過PHP回顯。 – alex 2011-02-04 03:59:24