簡體   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