Codeigniter从一个类中的另一个函数获取变量(带有post值)

时间:2014-11-26 06:04:48

标签: javascript php json codeigniter

这是我的情景。我有一个带有日期输入的表单,我在模型中用作变量输入。

以下是我显示表单v_soaotc_daily_index.php

的观点
<form class="form_horizontal" method = "post" action="<?php echo site_url('soaotc/getDaily');?>">
     <fieldset> 
         <!-- Date Input name="date_daily" -->
    </fieldset>
    </form>

表单在控制器getDaily()

中处理
function getDaily(){
        $date_daily = $this->input->post('date_daily');
        $data=array(
            'title'=>'SOA_OTC - Daily',
            'active_otc'=>'active',
            'day'=>$this->model_app->get_Soa_Daily($date_daily)
        );

        $this->load->view('element/v_header',$data);
        $this->load->view('pages/v_soaotc_daily');
        $this->load->view('element/v_footer');
    }

$day将返回一个数组,我将使用highchart将其显示为图表。所以我在另一个函数中为这个数组编码json,并使用getDaily()

中的POST变量
function daily_json(){
        $this->getDaily(); <!-- connecting to getDaily() -->

        $data=array(
            'day'=>$this->model_app->get_Soa_Daily($date_daily)
        ); 
            .
            .
            .
         blablabla
            .
            .
            .

        echo json_encode($result, JSON_NUMERIC_CHECK);
}

我在视图中print_r($day),结果还可以。但是图表无法显示,因为daily_json()没有返回JSON。请帮助我。谢谢

1 个答案:

答案 0 :(得分:0)

根据您的描述,您应该返回JSON值,然后将其打印出来。

但是,你正在打印它:

echo json_encode($result, JSON_NUMERIC_CHECK);

将其更改为:

return json_encode($result, JSON_NUMERIC_CHECK);

在视野中,echo它。