Files
spota-dev/konsultasi/API/web/getListMahasiswaDosenOngoing.php
2026-05-02 10:11:07 +07:00

83 lines
2.1 KiB
PHP

<?php
include '../../conf/koneksiPDO.php';
include '../../conf/function.php';
header('Content-Type: application/json');
$conn = new createCon();
$dbh = $conn->connect();
checkKey('POST', 'token');
$token = trim($_POST['token']);
$sql = 'SELECT * FROM dosen WHERE token = :token';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':token', $token);
$stmt->execute();
$authorized = false;
if ($stmt->rowCount() > 0) {
$authorized = true;
}
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$nip = $row['nip'];
}
$sql = 'SELECT tugas_akhir.idTugasAkhir, judul, mahasiswa.nim, nama FROM tugas_akhir LEFT JOIN (SELECT * FROM konsultasi WHERE idKonsul IN (SELECT MAX(idKonsul) FROM konsultasi GROUP BY idTugasAkhir)) as t ON tugas_akhir.idTugasAkhir = t.idTugasAkhir LEFT JOIN mahasiswa ON tugas_akhir.nim = mahasiswa.nim WHERE pemb1 = :nip1 OR pemb2 = :nip2 AND selesai = 0';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':nip1', $nip);
$stmt->bindParam(':nip2', $nip);
$stmt->execute();
$data = array();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$id = $row['idTugasAkhir'];
$judul = $row['judul'];
$nim = $row['nim'];
$nama = $row['nama'];
$lastKonsultasi = $row['timestamp'];
$diffDay = '-';
if ($lastKonsultasi == null) {
$untilNow = '-';
} else {
if ($lastKonsultasi == 0) {
$untilNow = '-';
} else {
$timeAwal = intval($lastKonsultasi);
$timeAkhir = time();
$datediff = $timeAkhir - $timeAwal;
$diffDay = round($datediff / (60 * 60 * 24));
if ($diffDay < 0) {
$diffDay = 0;
}
$untilNow = $diffDay;
}
}
$konsultasiTerakhir = 'BELUM PERNAH KONSULTASI';
if ($diffDay != '-') {
$konsultasiTerakhir = date('d-m-Y', $lastKonsultasi);
}
array_push($data, array(
'id' => $id,
'judul' => $judul,
'nim' => $nim,
'nama' => $nama,
'konsultasiTerakhir' => $konsultasiTerakhir,
'bedaHari' => $diffDay,
));
}
echo json_encode(utf8ize(array(
'status' => 1,
'data' => $data,
)));