2013-07-11 152 views
1

我已經使用CodeIgniter會話保存數據庫查詢結果在我的模型中,我第一次使用var_dump函數來查看結果保存在會話變量中,這一切都沒問題,但因爲我使用同一個會話向我的控制器中的其他函數顯示結果,它只顯示結果的最後一行,而不是原來保存在會話中的所有結果。查詢結果codeigniter保存在會話中顯示不同的結果時,使用var_dump控制器函數中使用不同的結果

**Students Controller** 

function get_student(some parameters) 
{ 
$print_result= $this->course_booking_model->get_student_ajax($config["per_page"],$page,$result,$tennant_id,$sort_by,$sort_order); 
$this->session->set_userdata('print_result',$print_result); 
$data['data_student'] = $this->session->userdata('print_result'); 
var_dump($this->session->userdata('print_result')); 
} 

thesame控制器內的另一個功能

function export_students() 
{ 
$data['data_print']=$this->session->userdata('print_result'); 
$this->load->view('view_students_pdf',$data); 
var_dump($this->session->userdata('print_result')); 
} 

後續代碼var_dump功能都會有不同的輸出

+0

你能告訴我們你的模型功能? – ABorty

回答

1

試試這個辦法:

控制器功能1:

$query = $this->course_booking_model->get_student_ajax($config["per_page"],$page,$result,$tennant_id,$sort_by,$sort_order); 
    $new_data=array(
    'pdf_data' => $query 
); 

    $this->session->set_userdata($new_data); 
    var_dump($this->session->userdata('pdf_data')); 

控制器功能2:

$data=$this->data; 
$tennant_code=$this->session->userdata('username'); 
$query=$this->session->userdata('pdf_data'); 
var_dump($query); 
+0

你能解釋一下問題是什麼以及你的代碼如何解決它? –

1

當您使用$this->session->set_userdata('print_result','value')設置變量的值,就像如果你打電話$print_result = 'value';,這意味着以前的值將被覆蓋。如果您希望將值附加到會話數據變量,我建議您使用數組作爲值,您只需要檢索當前數據並在每次希望更新值時向數組添加新元素。喜歡的東西:

首先值

$this->session->set_userdata('print_result',array($print_result)); 

追加新的價值

$this->session->set_userdata('print_result',array_push($this->session->userdata('print_result'),$new_result)); 
+0

感謝您的幫助! –

相關問題