0

我正在构建自己的小型博客平台,作为 PHP 和 MySQL 的练习/乐趣/练习。我目前正在使用以下代码来输出正确的格式(效果很好):

$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){会更容易编码,因为数据是按名称而不是按数组编号存储的(如果有多个字段,记忆起来会很麻烦)。

我尝试使用之前的 while 循环更新代码,但发现当我按名称从数组中提取数据时,它在 <<<_END 标记中不再正常运行。

例如:<div class="titlebox"> $data['title']产生错误。

有没有办法在 <<<_END 标记中实现这一点,或者我应该只对每一行使用打印功能?另一方面,这甚至是正确的编码技术吗?(我只是一个业余爱好者。)

4

1 回答 1

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; ?>

我正在使用控制结构的替代语法。它在处理 HTML 时增加了可读性,特别是如果您有嵌套的控制结构(嵌入在 HTML 中的括号更难发现)。

于 2011-02-04T03:54:43.817 回答