EVOLUTION-NINJA
Edit File: Chapter_Covered.php
<?php namespace App\Controllers; use CodeIgniter\Controller; class Chapter_Covered extends Controller { public function __construct() { $this->db = \Config\Database::connect(); } public function get_courses() { $builder = $this->db->table('header_value'); $query = $builder->get(); return $this->response->setJSON($query->getResult()); } public function get_syllabus($course_id) { $builder = $this->db->table('syllabus'); $builder->where('course_id', $course_id); $query = $builder->get(); return $this->response->setJSON($query->getResult()); } public function get_batch($course_id) { $builder = $this->db->table('batches'); $builder->where('value', $course_id); $query = $builder->get(); return $this->response->setJSON($query->getResult()); } public function get_chapter($course_id) { $builder = $this->db->table('chapters'); $builder->where('course_id', $course_id); $query = $builder->get(); return $this->response->setJSON($query->getResult()); } public function add_chapter_form() { $data = [ 'course_id' => $this->request->getPost('course_id'), 'syllabus_id' => $this->request->getPost('syllabus_id'), 'batch_id' => $this->request->getPost('batch_id'), 'chapter_id' => $this->request->getPost('chapter_id'), 'date' => $this->request->getPost('selectDate') ]; $builder = $this->db->table('chapter_covered'); if ($builder->insert($data)) { return $this->response->setJSON(['result' => 1, 'message' => 'Chapter added successfully']); } else { return $this->response->setJSON(['result' => 0, 'message' => 'Failed to add chapter']); } } // public function get_chapters_covered() // { // $builder = $this->db->table('chapter_covered'); // $builder->select('chapter_covered.*, header_value.value_name as course, syllabus.syllabus_name, batches.batch_no, chapters.chapter_name'); // $builder->join('header_value', 'chapter_covered.course_id = header_value.id'); // $builder->join('syllabus', 'chapter_covered.syllabus_id = syllabus.id'); // $builder->join('batches', 'chapter_covered.batch_id = batches.id'); // $builder->join('chapters', 'chapter_covered.chapter_id = chapters.id'); // $query = $builder->get(); // return $this->response->setJSON($query->getResult()); // } public function get_chapters_covered() { $builder = $this->db->table('chapter_covered'); $builder->select(' chapter_covered.id as chapter_covered_id, batches.id as batch_id, header_value.value_name as course, syllabus.syllabus_name, batches.batch_no, chapter_covered.date, chapters.chapter_name, chapters.id as chapter_id '); $builder->join('header_value', 'chapter_covered.course_id = header_value.id'); $builder->join('syllabus', 'chapter_covered.syllabus_id = syllabus.id'); $builder->join('batches', 'chapter_covered.batch_id = batches.id'); $builder->join('chapters', 'chapter_covered.chapter_id = chapters.id'); $builder->groupBy('chapter_covered.id, batches.id, header_value.value_name, syllabus.syllabus_name, batches.batch_no, chapters.chapter_name'); $builder->orderBy('chapter_covered.date', 'DESC'); $batchData = $builder->get()->getResultArray(); $result = []; foreach ($batchData as $row) { $batchId = $row['batch_id']; if (!isset($result[$batchId])) { $result[$batchId] = [ 'chapter_covered_id' => $row['chapter_covered_id'], 'course' => $row['course'], 'syllabus_name' => $row['syllabus_name'], 'batch_no' => $row['batch_no'], 'chapters' => [] ]; } $result[$batchId]['chapters'][] = [ 'chapter_covered_id' => $row['chapter_covered_id'], 'chapter_name' => $row['chapter_name'], 'date' => $row['date'], 'syllabus_name' => $row['syllabus_name'], ]; } return $this->response->setJSON(array_values($result)); } public function delete_chapter($id) { $builder = $this->db->table('chapter_covered'); $builder->where('id', $id); if ($builder->delete()) { return $this->response->setJSON(['result' => 1, 'message' => 'Chapter deleted successfully']); } else { return $this->response->setJSON(['result' => 0, 'message' => 'Failed to delete chapter']); } } public function get_chapter_covered_data($id) { try { $builder = $this->db->table('chapter_covered'); $builder->select('chapter_covered.*, header_value.value_name as course, syllabus.syllabus_name, batches.batch_no, chapters.chapter_name'); $builder->join('header_value', 'chapter_covered.course_id = header_value.id'); $builder->join('syllabus', 'chapter_covered.syllabus_id = syllabus.id'); $builder->join('batches', 'chapter_covered.batch_id = batches.id'); $builder->join('chapters', 'chapter_covered.chapter_id = chapters.id'); $builder->where('chapter_covered.id', $id); $query = $builder->get()->getRow(); return $this->response->setJSON(['result' => 1, 'data' => $query]); return $this->response->setJSON($result); } catch (\Exception $e) { log_message('error', $e->getMessage()); return $this->response->setJSON(['error' => 'An error occurred while fetching the data']); } } public function get_course1() { $builder = $this->db->table('header_value'); $query = $builder->get()->getResult(); return $this->response->setJSON(['result' => 1, 'data' => $query]); } public function get_syllabus1($course_id) { $builder = $this->db->table('syllabus'); $builder->where('course_id', $course_id); $query = $builder->get()->getResult(); return $this->response->setJSON(['result' => 1, 'data' => $query]); } public function get_batch1($course_id) { $builder = $this->db->table('batches'); $builder->where('value', $course_id); $query = $builder->get()->getResult(); return $this->response->setJSON(['result' => 1, 'data' => $query]); } public function get_chapter1($course_id) { $builder = $this->db->table('chapters'); $builder->where('course_id', $course_id); // $builder->where('syllabus_id', $syllabus_id); $query = $builder->get()->getResult(); return $this->response->setJSON(['result' => 1, 'data' => $query]); } public function update_chapter_covered() { $chapterCovered_id = $this->request->getPost('chapterCovered_id'); $course_id = $this->request->getPost('course_id'); $syllabus_id = $this->request->getPost('syllabus_id'); $batch_id = $this->request->getPost('batch_id'); $chapter_id = $this->request->getPost('chapter_id'); $date = $this->request->getPost('date'); $data = [ 'course_id' => $course_id, 'syllabus_id' => $syllabus_id, 'batch_id' => $batch_id, 'chapter_id' => $chapter_id, 'date' => $date, ]; $builder = $this->db->table('chapter_covered'); $builder->where('id', $chapterCovered_id ); $update = $builder->update($data); if ($update) { return $this->response->setJSON(['result' => 1, 'message' => 'Chapter updated successfully']); } else { return $this->response->setJSON(['result' => 0, 'message' => 'Failed to update chapter']); } } }