2016-05-25 8 views
0

質問があります。コントローラのループから複数の値を取得して各コースでユーザーの存在を取得する方法がわかりません。私は各コースの中にユーザーの存在感を見せたいと思っています。どうもありがとうございました。コントローラ内のループから値を渡して、php codeigniterを使用して表示する方法

これはこれはこれは私のビュー(home.php)である私のモデル(UserModel)

public function getGroupID($userID){ 
    $query = $this->db->query("SELECT DISTINCT groupID FROM mslearningsession WHERE menteeID='".$userID."'"); 
    if($query->num_rows()>0){ 
      return $query->row()->groupID; 
    }else{ 
      return false; 
    } 
} 

public function getGroupCourseLearned($groupID){ 
    $query = $this->db->query("SELECT DISTINCT courseID FROM mslearningsession WHERE groupID IN('".$groupID."')")->result(); 
    return array(
      'courseID' => $query, 
      'countCourseID' => count($query), 
     ); 
} 

public function totalPresentCourse($courseID,$userID){ 
    $query = $this->db->query("SELECT COUNT(sessionID)AS present FROM mslearningsession WHERE menteeID='".$userID."' AND courseID='".$courseID."'"); 
    if($query->num_rows()>0){ 
      return $query->row()->present; 
    }else{ 
      return false; 
    } 
} 

である私のコントローラ(MenteeController)

public function indexMentee(){ 
    $this->load->model('UserModel'); 
    $userID=$this->session->userdata('userID'); 
    $groupID = $this->UserModel->getGroupID($userID);//to get user's groupID 
    $records = $this->UserModel->getGroupCourseLearned($groupID);//to get group's course learned 
    $data['courseID'] = $records['courseID']; 
    $data['countCourseID'] = $records['countCourseID']; 
    foreach($data['courseID'] as $d){ 
      $data['present'] = $this->UserModel->totalPresentCourse($d->courseID,$userID);//total user's presence in certain course 
    } 
    $this->load->view('mentee/home',$data); 
} 

ある

<?php 
    echo "total courses learned : ".$countCourseID."<br>";//the courses are more than one 
    echo "total user's presence in each course :"; 
    foreach($courseID as $course){ 
      echo $course->courseID; 
      //I don't know how to get multiple values from looping in controller to get the user's presence in each course 
    } 
?> 

答えて

0

次のことができますこのようなことをしてください

$data['new_array'] = array(); //declare an empty array first 

foreach($data['courseID'] as $d){ 
       $data['new_array'] = $this->UserModel->totalPresentCourse($d->courseID,$userID);//all the value will be pushed in to new array 
     } 

$this->load->view('mentee/home',$data);//pass the array to get the data 
+0

ビューでどのようにコードするのですか?私は、($ new_arrayのような)コントローラで宣言された変数をビューに表示する方法を知らない。 – Bardbela

関連する問題