public static function updateGpa($semester_id)
 {
     $con = Connection::getConnectionObject()->getConnection();
     // Check connection
     if (mysqli_connect_errno()) {
         echo "Failed to connect to MySQL: " . mysqli_connect_error();
     }
     $students = Student::getAll();
     $results = Semester_results::getAllSemester($semester_id);
     //check student in semester_resultsr
     foreach ($students as $student) {
         $inResults = false;
         foreach ($results as $result) {
             if ($student->getId() == $result->stuId) {
                 $inResults = true;
                 break;
             }
         }
         if ($inResults == false) {
             $result = new Semester_results();
             $result->setStuId($student->getId());
             $result->setSemId($semester_id);
             array_push($results, $result);
         }
     }
     foreach ($results as $result) {
         //vars for calculate gpa
         $totalMark = 0.0;
         $totalCredits = 0.0;
         //die($result->stuId);
         //query to get the marks and credits
         $stmt = $con->prepare('SELECT module.credits,grade.mark FROM module,student_module_grade,grade,student WHERE module.code = student_module_grade.m_code AND student_module_grade.grade = grade.grade AND student_module_grade.s_id = student.index_no AND module.gpa = true AND student.id = ?');
         $stmt->bind_param("s", $result->stuId);
         $stmt->execute();
         $stmt->bind_result($credits, $mark);
         while ($stmt->fetch()) {
             $totalMark += $mark * $credits;
             $totalCredits += $credits;
         }
         //adding the gpa to the result object
         if ($totalCredits > 0) {
             $result->gPA = $totalMark / $totalCredits;
         }
     }
     return $results;
 }
 /**
  * @Route("/semester/view/{id}", name="semester_view")
  */
 public function viewAction($id, Request $request)
 {
     $semester = Semester::getOne($id);
     $semResults = Semester_results::getAllSemester($id);
     return $this->render('semester/view.html.twig', array('semester' => $semester, 'results' => $semResults));
 }