connect(); if (!isset($_SESSION['konsulDosen'])) { echo getUnauthorizedMessage(); exit(); } $orderQ = ''; switch ($orderBy) { case 'judulTerbaru': $orderQ = ' ORDER BY tugas_akhir.idTugasAkhir DESC '; break; case 'konsultasiTerbaru': $orderQ = ' ORDER BY waktuTerakhirKonsul DESC '; break; case 'konsultasiTerlama': $orderQ = ' ORDER BY waktuTerakhirKonsul ASC '; break; } $whereSelesai = ''; if (isset($_GET['selesai'])) { $selesai = $_GET['selesai']; if ($selesai != 'all') { $selesai = intval($selesai); $whereSelesai = " AND selesai = '$selesai' "; } } $nipDosen = $_SESSION['konsulDosen']['nip']; $sql = "SELECT * FROM tugas_akhir LEFT JOIN mahasiswa ON tugas_akhir.nim = mahasiswa.nim LEFT JOIN (SELECT * FROM konsultasi GROUP BY idTugasAkhir) t ON tugas_akhir.idTugasAkhir = t.idTugasAkhir WHERE (pemb1 = '$nipDosen' OR pemb2 = '$nipDosen') AND (judul LIKE :search OR nama LIKE :search2 OR tugas_akhir.nim LIKE :search3) AND keputusan = '1' $whereSelesai"; $stmt = $dbh->prepare($sql); $stmt->bindParam(':search', $searchText); $stmt->bindParam(':search2', $searchText); $stmt->bindParam(':search3', $searchText); $stmt->execute(); $totalData = $stmt->rowCount(); $sqlLimit = "SELECT tugas_akhir.idTugasAkhir, judul, nama, tugas_akhir.nim, semester, waktuTerakhirKonsul, selesai FROM tugas_akhir LEFT JOIN mahasiswa ON tugas_akhir.nim = mahasiswa.nim LEFT JOIN (SELECT idTugasAkhir, MAX(timestamp) AS waktuTerakhirKonsul FROM konsultasi GROUP BY idTugasAkhir) t ON tugas_akhir.idTugasAkhir = t.idTugasAkhir WHERE (pemb1 = '$nipDosen' OR pemb2 = '$nipDosen') AND (judul LIKE :search OR nama LIKE :search2 OR tugas_akhir.nim LIKE :search3) AND keputusan = '1' $whereSelesai $orderQ LIMIT $start, $length"; $stmt = $dbh->prepare($sqlLimit); $stmt->bindParam(':search', $searchText); $stmt->bindParam(':search2', $searchText); $stmt->bindParam(':search3', $searchText); $stmt->execute(); $data = []; $no = 1; while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $noPushed = $start + $no; $idTA = $row['idTugasAkhir']; $judul = $row['judul']; $nama = $row['nama']; $nim = $row['nim']; $semester = $row['semester']; $waktuTerakhirKonsul = $row['waktuTerakhirKonsul']; if ($waktuTerakhirKonsul == '') { $diffDay = ''; $terakhirKonsulText = '-'; } else { $timeAwal = intval($waktuTerakhirKonsul); $timeAkhir = time(); $datediff = $timeAkhir - $timeAwal; $diffDay = round($datediff / (60 * 60 * 24)); if ($diffDay < 0) { $diffDay = 0; } $terakhirKonsulText = date('d-m-Y', $waktuTerakhirKonsul).'
('.$diffDay.' Hari)'; } array_push($data, [ $noPushed, $judul, $nama.'
NIM '.$nim.'', $semester, $terakhirKonsulText, $idTA, intval($row['selesai']), ] ); ++$no; } $recordsTotal = $totalData; $res = []; $res['draw'] = $draw; $res['recordsTotal'] = $recordsTotal; $res['recordsFiltered'] = $recordsTotal; $res['data'] = $data; echo json_encode($res);