正确的方式来显示我的查询

Bee*_*eep 0 php mysql codeigniter

我的模型中有一个查询,我需要在视图中打印数据

模型

    function get_bank()
    {
        $query = $this->db->query("SELECT
(
   12* (YEAR('account_add_date') - YEAR('start_date')) +
          (MONTH('account_add_date') - MONTH('start_date'))
) AS differenceInMonth
->FROM ('bank')
WHERE mem_id = '".$this->session->userdata('id')."'");
return $query->result();
    $data['account_age'] =  $query->row_array();

    }
Run Code Online (Sandbox Code Playgroud)

我试图在我的模型中打印输出,但它不起作用,我不知道我哪里出错了.我是MVC的新手并且仍然习惯它.

视图

 <h2>age of account</h2>

<?php
$age = $this->model('profiles_model' , $data );

print "<h2>$age</h2>";

?>
Run Code Online (Sandbox Code Playgroud)

调节器

function index()
    {
        $data = array();
        $this->load->model('user_profile/profiles_model');
        $query = $this->profiles_model->get_bank();


        if(!empty($query))
        {
            $data['records'] = $query;
        }

        $this->load->view('profile_view', $data);
    }
Run Code Online (Sandbox Code Playgroud)

JC *_*Lee 6

让我们首先用适当的约定编写代码.

模型

function get_bank() {
    $mem_id = $this->session->userdata('id');
    $query = $this->db
        ->select("12*(YEAR('account_add_date') - YEAR('start_date')) + (MONTH('account_add_date') - MONTH('start_date')) AS differenceInMonth")
        ->where('mem_id', $mem_id)
        ->get('bank');

    return $query;
    // $data['account_age'] =  $query->row_array(); <-- Statement after return is useless.
}
Run Code Online (Sandbox Code Playgroud)

调节器

function index() {
    $data = array(
        'records' => array()
    );
    $this->load->model('user_profile/profiles_model');
    $bank = $this->profiles_model->get_bank();

    if($bank->num_rows()){
        $data['records'] = $bank->row_array();
    }

    $this->load->view('profile_view', $data);
}
Run Code Online (Sandbox Code Playgroud)

视图

不确定您要对银行数据做什么,但这里是您打印记录的方式

<p>Bank data</p>
<p><?=isset($records['differenceInMonth'])?$records['differenceInMonth']:"No record found"?></p>
Run Code Online (Sandbox Code Playgroud)