Add the main admin, dosen, mahasiswa, API, and service code needed to run the core legacy application with configurable upload storage.
194 lines
5.8 KiB
PHP
194 lines
5.8 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Penawaran Judul Tugas Akhir</title>
|
|
<link
|
|
rel="stylesheet"
|
|
href="steven/libs/Fomantic-UI/semantic.css"
|
|
type="text/css"
|
|
charset="utf-8"
|
|
/>
|
|
<link
|
|
rel="stylesheet"
|
|
href="steven/libs/DataTable/datatables.min.css"
|
|
type="text/css"
|
|
charset="utf-8"
|
|
/>
|
|
|
|
<script src="steven/libs/jquery-3.3.1.js"></script>
|
|
<script src="steven/libs/Fomantic-UI/semantic.min.js"></script>
|
|
<script src="steven/libs/DataTable/datatables.min.js"></script>
|
|
</head>
|
|
<style>
|
|
tfoot {
|
|
display: table-header-group;
|
|
}
|
|
</style>
|
|
<body>
|
|
|
|
<?php
|
|
include 'steven/conf/koneksiPDO.php';
|
|
|
|
$status = "0";
|
|
if(isset($_GET['status'])){
|
|
$status = $_GET['status'];
|
|
}
|
|
|
|
$conn = new createCon();
|
|
$dbh = $conn->connect();
|
|
|
|
|
|
|
|
$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($status == "0"){
|
|
if(!($statusDb == null || $statusDb == "2")){
|
|
continue;
|
|
}
|
|
}
|
|
|
|
if($status == "1"){
|
|
if($statusDb == null || $statusDb == "2"){
|
|
continue;
|
|
}
|
|
}
|
|
|
|
array_push($listData, [
|
|
'id' => $idPenawaran,
|
|
'judul' => $judul,
|
|
'kk' => $namaKK,
|
|
'dosen' => $namaDosen,
|
|
'waktuInput' => date('d-m-Y', strtotime($row['waktuInput'])),
|
|
'waktuBooking' => date('d-m-Y H:i:s', strtotime($maxWaktu)),
|
|
'hangus' => $tglHangusOtomatis,
|
|
'status' => $statusDb,
|
|
'nama' => $namaMhs,
|
|
'nim' => $nimMhs,
|
|
'deskripsi' => $deskripsi
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
$no = 1;
|
|
foreach($listData as $key=>$val){
|
|
$judul = $val['judul'];
|
|
$kk = $val['kk'];
|
|
$dosen = $val['dosen'];
|
|
$deskripsi = $val['deskripsi'];
|
|
$waktuInput = $val['waktuInput'];
|
|
|
|
$isiTabel .= "<tr><td>$no</td><td>$judul</td><td>$deskripsi</td><td>$kk</td><td>$waktuInput</td><td>$dosen</td></tr>";
|
|
$no++;
|
|
}
|
|
|
|
if(sizeof($listData) == 0){
|
|
$isiTabel = "<tr><td colspan='6'></td></tr>";
|
|
}
|
|
|
|
echo '
|
|
<style>
|
|
|
|
|
|
</style>
|
|
';
|
|
?>
|
|
|
|
<h3 class='ui blue inverted segment center aligned header'>Daftar Penawaran Judul Dari Dosen Informatika UNTAN</h3>
|
|
<div class='ui segment container'> <span class='ui red text'>* Bagi yang berminat dengan judul pada tabel dapat langsung menghubungi dosen pemberi judul</span>
|
|
<div class="ui form" id="formFilter">
|
|
<div class="fields">
|
|
<div class="field">
|
|
<label>Status</label>
|
|
<select id="statusField" name="statusField" class="ui dropdown">
|
|
<option value="0">Belum Diambil Mahasiswa</option>
|
|
<option value="1">Sudah Diambil Mahasiswa</option>
|
|
</select>
|
|
</div>
|
|
<div class="field">
|
|
<label style="color:white">.</label>
|
|
<button class="ui blue button" onClick="filterData()">Filter</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<table class='ui selectable celled table' id='tableData'><thead><tr><th>No</th><th>Judul</th><th>Deskripsi</th><th>Kelompok Keahlian</th><th>Waktu Input</th><th>Dosen yang memberikan judul</th></tr><tbody><?php echo $isiTabel; ?></tbody></table>
|
|
</div>
|
|
|
|
|
|
Status
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|
|
|
|
<script>
|
|
|
|
function filterData(){
|
|
const status = $('#statusField').val();
|
|
window.location = `https://spota.untan.ac.id/penawaran_judul.php?status=${status}`;
|
|
}
|
|
|
|
$(document).ready(function () {
|
|
$('#formFilter').form('set values', {
|
|
statusField : "<?php echo $status; ?>",
|
|
});
|
|
|
|
$('#tableData').dataTable();
|
|
});
|
|
|
|
</script>
|