public function getPassedData($idScorm) { $output = false; $items = $this->getItems($idScorm, false); $query = "SELECT idscorm_item, lesson_status, COUNT(*) as num_count " . " FROM %lms_scorm_tracking WHERE idscorm_item IN (" . implode(",", $items) . ") " . " GROUP BY idscorm_item, lesson_status" . " ORDER BY idscorm_item "; $res = $this->db->query($query); if ($res) { $data = array(); while ($row = $this->db->fetch_obj($res)) { if (!isset($data[$row->idscorm_item])) { $data[$row->idscorm_item] = array('passed' => 0, 'not_passed' => 0); } if ($row->lesson_status == 'passed' || $row->lesson_status == 'completed') { $data[$row->idscorm_item]['passed'] += $row->num_count; } else { $data[$row->idscorm_item]['not_passed'] += $row->num_count; } } //get number of users subscribed to the course $subs_man = new SubscriptionAlms($_SESSION['idCourse']); $tot = $subs_man->totalUser("", 3); //all subscribed students $output = array(); foreach ($items as $idItem) { $p1 = isset($data[$idItem]['passed']) ? $data[$idItem]['passed'] : 0; $p2 = isset($data[$idItem]['not_passed']) ? $data[$idItem]['not_passed'] : 0; //$tot = $p1 + $p2; if ($tot <= 0) { $result = 0; } else { $result = 100 * $p1 / $tot; } $output[$idItem] = $result; } } return $output; }