2016-07-03 13 views
1

ich bin neu codeigniter und php, brauche etwas Aufklärung, um 2 Tabellen mit mvc-Methode anzuzeigen. zeige nur zwei Tabellen auf einer Seite an (Kamera- und Besuchertabelle). hier ist mein CodeAnzeige 2 Tabellen auf codeigniter

Modell:

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

Ausblick:

<?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 } ?> 

Controller:

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


} 

das Problem ist, ich Kamera Tabelle anzeigen kann aber Besucher bekam Fehlermeldung: Nicht definierte Variable: data1

Kann mir jemand helfen, es herauszufinden? Viel schätzen

Antwort

1

Sie können nur eine Sache aus einer Methode zurückgeben - sobald Sie etwas zurückgeben, stoppt die Ausführung des Codes.

function m_report() { 

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

    return array_merge($camera, $report); 
} 

Jetzt erhalten Sie ein Array mit allen Ergebnissen von "Kamera" und "Besucher". Sie können es angeben, wenn Sie mit einem assoziativen Array möchten.

function m_report() { 

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

    return $data; 
} 
+0

Danke Marcus für deine Hilfe, ich habe versucht, mein Modell mit deinem Code zu ändern, das Problem ist immer noch das gleiche, die Besucher-Tabelle erscheint nicht, ist da irgendwas mit meinen Controllern nicht in Ordnung? – anulogi

+0

@anulogi Haben Sie auch die Art der Analyse und Verwendung dieser Daten in der Ansicht geändert? Wenn ja, aktualisieren Sie, um Ihren aktuellen Code anzuzeigen. – CmdrSharp

+0

Nein, ich habe mich nicht geändert, Es tut mir leid, ich bin neu in CI .. Können Sie helfen, die Daten in der Ansicht zu analysieren? – anulogi

0

Sie können nicht 2 kehrt in einem Verfahren machen

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

Ich denke, es ist besser, jede Abfrage in einzelne Funktion sie

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

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

rufen Sie dann separat machen in Controller

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); 

}