2017-08-06 2 views
0

select_sumの結果をコントローラからビューに出力するにはどうすればよいですか?私の関数は1つの数値しか返さないので、foreachを使いたくない。foreachなしでview内のcodeigniter choose_sumを出力する方法

ロジックには、「時間」という数値のあるDBの列があります。それらをまとめて合計し、その結果を/ 10000の横に出力します。

私はrow()を使用する必要があると信じていますが、わかりません。

コントローラー:

$this->load->library(array('form_validation', 'session')); 
    $this->db->select_sum('time'); 
    $data['num'] = $this->db->get('posts'); 

    $this->db->order_by('id', 'DESC'); 
    $data['query'] = $this->db->get('posts'); 
    $this->load->view('templates/header'); 
    $this->load->view('templates/navigation'); 
    $this->load->view('home_page', $data); 
    $this->load->view('templates/footer'); 

ビュー:

<?php foreach ($num->result() as $row): ?> 
     <?php if (empty($row->time)): echo "0"?> 
     <?php else: echo $row->time ?> 
     <?php endif ?>/10000</p> 
     <?php endforeach;?> 

答えて

2

あなたは変数でrow()を組み合わせることができます。

$sql = $this->db->select_sum('time'); 
$sql = $this->db->get('posts'); 
$data['num'] = $sql->row(); 

そして、あなたはあなたのビューで

$num->time; 

を呼び出すことができ、これはあなたの問題を解決したいと考えています。

+0

ありがとうございます!それはうまくいった。構文の質問だけで、$ sql = $ this-> db-> select_sum( 'time')を結合できますか? $ sql = $ this-> db-> get( 'posts'); 1つの変数または配列またはオブジェクトに変換して、これらの行を複製せずにコントローラで再び使用することができます。希望は意味をなさない。 –

+0

あなたは大歓迎です。 –

+1

これはすでに配列オブジェクトです。 –

関連する問題