2016-07-03 49 views
1

即時通訊codeigniter和php新手,需要一些啓發來用mvc方法顯示2個表格。只在一個頁面中顯示兩張桌子(相機和來賓桌)。這裏是我的代碼在codeigniter上顯示2個表格

型號:

function m_report() { 
     $camera = $this->db->get('camera'); 
     return $camera->result(); 
     $report = $this->db->get('visitor'); 
     return $report->result(); 
    } 

查看:

<?php foreach($data1 as $report){ ?> 
       <tr>  
        <td><?php echo $report->Country; ?></td> 
        <td><?php echo $report->Days; ?></td> 
       </tr> 
<?php } ?> 

<?php foreach($data_camera as $camera){ ?> 
        <tr>  
         <td><?php echo $camera->cameratype; ?></td> 
        </tr> 
        <?php } ?> 

控制器:

function report(){ 
     $data['data_camera']=$this->m_data->m_report(); 
     $data1['data1']=$this->m_data->m_report(); 
     $this->load->view('v_report',$data,$data1); 


} 

的問題是,我可以顯示攝像機表,但遊客得到錯誤信息:未定義的變量:data1

任何人都可以幫我弄明白嗎?非常感謝

回答

1

你只能從方法中返回一件東西 - 一旦你返回一些東西,就停止執行代碼。

function m_report() { 

    $camera = $this->db->get('camera')->result(); 
    $report = $this->db->get('visitor')->result(); 

    return array_merge($camera, $report); 
} 

現在你得到一個包含「camera」和「visitor」所有結果的數組。如果你想使用關聯數組,你可以指定它。

function m_report() { 

    $data['camera'] = $this->db->get('camera')->result(); 
    $data['visitor'] = $this->db->get('visitor')->result(); 

    return $data; 
} 
+0

感謝Marcus的幫助,我試圖用你的代碼改變我的模型,問題仍然是一樣的,訪客表不會出現,是否有我的控制器有問題? – anulogi

+0

@anulogi你是否也改變了在視圖中解析和使用數據的方式?如果是這樣,請更新以顯示您當前的代碼。 – CmdrSharp

+0

不,我沒有改變,我很抱歉,即時通訊新的..你能幫助如何解析視圖中的數據? – anulogi

0

你不能讓2返回一個方法

function m_report() { 
    $camera = $this->db->get('camera'); 
    return $camera->result(); 
    $report = $this->db->get('visitor'); 
    return $report->result(); 
} 

我認爲這是更好地使每個查詢在單一功能

function m_camera_report() { 
    $camera = $this->db->get('camera'); 
    return $camera->result(); 
} 

function m_visitor_report() { 
    $report = $this->db->get('visitor'); 
    return $report->result(); 
} 

然後在控制器

分別給他們打電話
function report(){ 
    $data['data_camera']=$this->m_data->m_camera_report(); 
    $data['data_visitor']=$this->m_data->m_visitor_report(); 
    $data1['data1']=$this->m_data->m_report(); 
    $this->load->view('v_report',$data,$data1); 

}