在视图中显示文章

时间:2014-05-09 09:10:28

标签: php html codeigniter codeigniter-2 php-5.3

我有一个问题: 我为新闻做了预告:

Array
(
[0] => Array
    (
        [name] => tag
        [id] => 57
        [title] => Article1,Article2,Article3
        [views] => 53,54,58
        [smallimage] => Koala-08.jpg,Jellyfish-08.jpg,Mountain-08.jpg
        [date] => 2014-05-07 09:21:58,2014-05-08 09:24:38,2014-05-08 14:36:40
    )

) 如何创建foreach以显示1个标题1个视图和1个日期...我创建了一个foreach但首先显示所有标题,所有视图,所有日期; 我的预言:

<?php if ($news):?>

        <?php foreach($news as $n):?>
            <p>Tag:<?php echo $n['name'] ?></p>

            <div class="container">

                        <img src="<?php echo config_item('content_folder');?>news/small/<?php echo $n['smallimage']; ?>" alt="">
                        <?php echo $n['title'] ?><br/>
                                                    <?php echo $n['views'] ?>



        <?php endforeach ?>
    <?php endif; ?>

通过这个foreach,我得到:Article1,Article2,Article3 53,54,58 ......我想获得Article1 53,Article2 54,Article3 58 ....请帮帮我

3 个答案:

答案 0 :(得分:1)

试试这个:

<?php
$news  =   array(array(  "tag",
         57,
         "Article1,Article2,Article3",
         "53,54,58",
          "Koala-08.jpg,Jellyfish-08.jpg,Mountain-08.jpg",
        "2014-05-07 09:21:58,2014-05-08 09:24:38,2014-05-08 14:36:40"
    ) );

?>

<?php  if ($news){?>
<p>Tag:<?php echo $news[0][0]; ?></p>
 <div class="container">
     <img src="<?php echo config_item('content_folder');?>news/small/<?php echo $news[0][4]; ?>" alt="">
      <?php $views = explode(',',$news[0][3]);?>
      <?php $article = explode(',',$news[0][2]);?>
      <?php for($i=0;$i<count($article);$i++){
            echo $article[$i].'-'.$views[$i];
     } ?>
</div>
 <?php   }?>

我不知道“config_item('content_folder')”函数结果在哪里。试试这个。让我知道它是否有效。随意请求帮助。

答案 1 :(得分:0)

我假设例如&lt; Article1,Article2,Article3&#39;是一个字符串,所以你必须使用:

$n['title'] = explode(',',$n['title']) 

使其成为一个数组。视图,小图像和日期也是如此。以下是如何应用该示例的示例:

<p>Tag:<?php echo $n['name'] ?></p>
<div id="container">
<?php
$n['title'] = explode(',',$n['title']) 
$n['views'] = explode(',',$n['views']) 
$n['smallimage'] = explode(',',$n['smallimage']) 
foreach ($n['title'] as $key=>$value) {
 echo "<img src='" . config_item('content_folder') . "news/small" . $n['smallimage'][$key] . "' alt='' />";
 echo $n['title'][$key] . "<br />";
 echo $n['views'][$key]
 }
?>
</div>

您可以将其置于现有的foreach循环中。

答案 2 :(得分:0)

    <?php foreach($news as $n):?>
        <?php $titles = explode(",", $n['title']); ?>
        <?php $smallimages = explode(",", $n['smallimage']); ?>
        <?php $views= explode(",", $n['views']); ?>
        <p>Tag:<?php echo $n['name'] ?></p>

        <div class="container">

                    <img src="<?php echo config_item('content_folder');?>news/small/<?php echo smallimages[0]; ?>" alt="">
                    <?php echo title[0] ?><br/>
                    <?php echo views[0] ?>
                    <img src="<?php echo config_item('content_folder');?>news/small/<?php echo smallimages[1]; ?>" alt="">
                    <?php echo title[1] ?><br/>
                    <?php echo views[1] ?>
                    <img src="<?php echo config_item('content_folder');?>news/small/<?php echo smallimages[2]; ?>" alt="">
                    <?php echo title[2] ?><br/>
                    <?php echo views[2] ?>


    <?php endforeach ?>
<?php endif; ?>
相关问题