/** * @Route("/result/create", name="result_create") */ public function createAction(Request $request) { $result = new student_module_grade(); // generating data for the form $students = Student::getAll(); $studentIds = array(); foreach ($students as $student) { $studentIds[$student->getIndexNo()] = $student->getIndexNo(); //array_push($studentIds, $student->getIndexNo()); } $modules = Module::getAll(); $moduleIds = array(); foreach ($modules as $module) { $moduleIds[$module->getCode()] = $module->getCode(); //array_push($moduleIds, $module->getCode()); } $grades = Grade::getAll(); $gradeIds = array(); foreach ($grades as $grade) { $gradeIds[$grade->getGrade()] = $grade->getGrade(); //array_push($gradeIds, $grade->getGrade()); } $form = $this->createFormBuilder($result)->add('s_id', ChoiceType::class, array('choices' => $studentIds, 'choices_as_values' => true, 'label' => 'Index No'))->add('m_code', ChoiceType::class, array('choices' => $moduleIds, 'choices_as_values' => true, 'label' => 'Module'))->add('grade', ChoiceType::class, array('choices' => $gradeIds, 'choices_as_values' => true, 'label' => 'Grade'))->add('save', SubmitType::class, array('label' => 'Add Marks'))->getForm(); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { // ... perform some action, such as saving the task to the database $result->save(); return $this->redirectToRoute('result_create'); } ////////////////////////form 2 for add multiple////////////////////////////////// $form2Data = array('message' => 'Type your message here'); $form2 = $this->createFormBuilder($form2Data)->add('m_code', ChoiceType::class, array('choices' => $moduleIds, 'choices_as_values' => true, 'label' => 'Module'))->add('marks', TextType::class)->add('save', SubmitType::class, array('label' => 'Add Marks'))->getForm(); $form2->handleRequest($request); if ($form2->isSubmitted() && $form2->isValid()) { // ... perform some action, such as saving the task to the database $data = $form2->getData(); //die($data['marks']); $module = $data['m_code']; $marks = $data['marks']; //$em = $this->getDoctrine()->getManager(); $doc = $this->getDoctrine(); student_module_grade::saveAll($module, $marks, $doc); return $this->redirectToRoute('result_create'); } ////////////////////////////////////////////////////////// // ADDED THE FORM2 array return $this->render('result/create.html.twig', array('form' => $form->createView(), 'form2' => $form2->createView())); }
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("/student/view", name="student_viewAll") */ public function viewallAction(Request $request) { $students = Student::getAll(); return $this->render('student/viewall.html.twig', array('students' => $students)); }