CodeIgniter - 使用foreach的多个结果?

时间:2013-03-29 22:52:57

标签: php codeigniter foreach

我试图用CodeIgniter做简单的新闻系统,我已经做到了。但是我显示结果有问题。实际上,它们正如我想的那样正确显示,但我不能显示多个。

我正在使用'foreach',事实是,当我将我的风格放在foreach中并将其显示在其中时,它就能很好地运行。但是当我试图首先定义这些数据,然后显示它们(在foreach之外)时,只显示一条记录。

我想做什么,不起作用

<?php foreach ($posts as $row) {
    $title = $row['title'];
    $text = $row['text'];
    $date = $row['date'];
    $autor_id = $row['user_id'];
}

echo $title; ?>

什么有效,但对我来说不舒服:

<?php foreach ($posts as $p): ?>
    <h2><?php echo htmlspecialchars($p['title']); ?></h2>
    <p><?php echo nl2br(htmlspecialchars($p['text'])); ?></p>
<?php endforeach; ?>

是否有可能以我想要的方式做到这一点?

1 个答案:

答案 0 :(得分:0)

只需将两者结合起来:

<?php foreach ($posts as $row) {
    $title = $row['title'];
    $text = $row['text'];
    $date = $row['date'];
    $autor_id = $row['user_id'];?>
    <h2><?php echo htmlspecialchars($title); ?></h2>
    <p><?php echo nl2br(htmlspecialchars($text)); ?></p>
<?php } ?>

或者在循环中使用echo,您不需要破坏PHP标记。