繁体   English   中英

将查询结果放在不同的div中

[英]Place query results in different divs

我试图在不同的div中以我的视图显示查询的结果,我花了整整一天的时间在ellislab上阅读,如果我正确理解了result()函数返回一个对象, 那么如何显示结果,这是我的模型:

模型

function get_post(){
    $this->db->select(*);
    $this->db->order_by('date_time', 'desc');
    $this->db->limit(2);
    $results = $this->db->get('post');

    if($results->num_rows()<1){
          return false;
    }
    else{
          return $results->result();
    }
}

这就是我的控制器的作用:

控制者

foreach($results as $res){
    $data['post_signature']     =  $res->signature;
    $data['post_title']         =  $res->title;
    $data['post_article']       =  $res->article;
    $data['post_date']          =  date('d-M-Y', strtotime($res->date_time));
    $data['post_time']      =  date('H:i', strtotime($res->date_time));
}

我想显示的是一个div中的一系列结果,而另一个div中的第二个结果。

<div id="1">First Result</div>
<div id="2">Second Result</div>

我要做的就是将整个查询结果传递给视图并使用foreach,如下所示:

<?php foreach ($results as $res)
     <div id="1">First Result</div>
     <div id="2">Second Result</div>
?>

显然,此方法的问题在于,此foreach只是将div重复,而我只想将第一个结果放在第一个div中,将第二个结果放在第二个div中。 我也想将foreach更改为控制器,并使用for语句将返回的所有参数保存到数据数组中,但是由于某些原因,这似乎效率很低。

希望您有更好的解决方案。

将其更改为

<?php
  $i=1;
  foreach ($results as $res) {
     echo '<div id="'.$i++.'">'.$res.'</div>';
  }
?>

foreach部分不正确。 您必须分开php / html代码。

也许您可以尝试以下方法:

<?php foreach ($results as $key => $res) {
     echo '<div id="'.$key.'">'.implode(' ', $res).'</div>';
}
?>

您应该将$results对象传递给视图,并在其中使用foreach

// in your view (assuming you passed the $results as-is
<?php
foreach ($results as $res)
{
    echo '<div id="' . $res->id . '">';
    echo $res->title . '<br />';
    echo 'Posted ' . date('d-M-Y', strtotime($res->date_time)) . ' ';
    echo 'at ' . date('H:i', strtotime($res->date_time)) . '<br />';
    echo '<p>' . $res->article . '</p>';
    echo '</div>'; 
}
/**
you'll get something like the following
<div id="1">
    My Title<br />
    Posted 14 Jan 2012 at 16:40<br />
    <p>Lorem ipsum dolor sit amet.</p>
</div>
<div id="2">
    Another Title<br />
    Posted 14 Jan 2012 at 16:45<br />
    <p>Lorem ipsum dolor sit amet also.</p>
</div>
*/

这个想法是$results是结果对象的集合,因此,当您在控制器中遍历它们时(例如问题中的示例),您不会在视图中获得对象的“集合”。 循环浏览视图可让您管理这些结果的集合(以及显示)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM