connect(); header('Content-Type: application/json'); if (!isset($_SESSION['login-mhs'])) { echo json_encode(['status' => 403, 'msg' => 'Forbidden']); exit; } $status = $_GET['status']; $kk = $_GET['kk']; $idMahasiswa = $_SESSION['login-mhs']['id']; $sql = "SELECT * FROM tb_kelompok_keahlian"; $stmt = $dbh->prepare($sql); $stmt->execute(); $listKK = []; while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ $listKK[$row['idKK']] = $row['namaKK']; } $sql = "SELECT * FROM tbdosen"; $stmt = $dbh->prepare($sql); $stmt->execute(); $listDosen = []; while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ $listDosen[$row['iddosen']] = $row['nmLengkap']; } $sql = "SELECT tData.*, tbmhs.nim, tbmhs.nmLengkap FROM (SELECT * FROM tb_penawaran_judul LEFT JOIN (SELECT t.idPenawaranAmbil, t.idMhs, t.statusPengambilan, t.waktuPengambilan, t.waktuVerifikasi, r.maxWaktu FROM ( SELECT idPenawaranAmbil, MAX(waktuPengambilan) as maxWaktu FROM tb_ambil_judul GROUP BY idPenawaranAmbil ) r INNER JOIN tb_ambil_judul t ON t.idPenawaranAmbil = r.idPenawaranAmbil AND t.waktuPengambilan = r.maxWaktu) as tAmbil ON tb_penawaran_judul.idPenawaran = tAmbil.idPenawaranAmbil) tData LEFT JOIN tbmhs ON tData.idMhs = tbmhs.idmhs ORDER BY waktuInput DESC"; $stmt = $dbh->prepare($sql); $stmt->execute(); $listData = []; while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $judul = $row['judul']; $idPenawaran = $row['idPenawaran']; $maxWaktu = $row['maxWaktu']; $statusDb = $row['statusPengambilan']; $namaMhs = $row['nmLengkap']; $nimMhs = $row['nim']; $idKK = $row['kk']; $idDosenInput = $row['idDosen']; $deskripsi = $row['deskripsi']; $namaKK = '-'; if(isset($listKK[$idKK])){ $namaKK = $listKK[$idKK]; } $namaDosen = '-'; if(isset($listDosen[$idDosenInput])){ $namaDosen = $listDosen[$idDosenInput]; } if($statusDb == "2"){ $namaMhs = null; } if($status == "0"){ if(!($statusDb == null || $statusDb == "2")){ continue; } } if($status == "1"){ if($statusDb == null || $statusDb == "2"){ continue; } } if($kk != "Semua"){ if($idKK != $kk){ continue; } } $tglHangusOtomatis = date('d-m-Y 00:00:00', strtotime($maxWaktu. ' +6 day')); array_push($listData, [ 'id' => $idPenawaran, 'judul' => $judul, 'kk' => $namaKK, 'dosen' => $namaDosen, 'waktuBooking' => date('d-m-Y H:i:s', strtotime($maxWaktu)), 'hangus' => $tglHangusOtomatis, 'status' => $statusDb, 'nama' => $namaMhs, 'nim' => $nimMhs, 'deskripsi' => $deskripsi ]); } echo json_encode(utf8ize($listData)); ?>