簡體   English   中英

如何使用PHP Codeigniter從控制器中的循環傳遞值以查看

[英]How to pass values from looping in controller to view using php codeigniter

我有一個問題,我不知道如何從控制器中的循環中獲取多個值,以獲取用戶在每門課程中的存在。 我想顯示每個課程中用戶的狀態。 非常感謝你。

這是我的控制器(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);
}

這是我的模型(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;
     }
}

這是我的觀點(home.php)

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

你可以做這樣的事情

$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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM