Add the main admin, dosen, mahasiswa, API, and service code needed to run the core legacy application with configurable upload storage.
161 lines
4.0 KiB
PHP
161 lines
4.0 KiB
PHP
<?php
|
|
session_start();
|
|
$idlogin=$_SESSION['login-admin']['id'];
|
|
|
|
$aColumns = array('tj.idFak','tj.nmJurusan', 'tp.nmProdi');
|
|
|
|
/* Indexed column (used for fast and accurate table cardinality) */
|
|
$sIndexColumn = "tp.nmProdi";
|
|
|
|
/* DB table to use */
|
|
$sTable = "tbprodi tp ";
|
|
|
|
/* Database connection information */
|
|
include ("../../../inc/helper.php");
|
|
include ("../../../inc/konfigurasi.php");
|
|
include ("../../../inc/db.pdo.class.php");
|
|
|
|
$db=new dB($dbsetting);
|
|
|
|
/*
|
|
* Paging
|
|
*/
|
|
$sLimit = "";
|
|
if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
|
|
{
|
|
$sLimit = "LIMIT ".intval( $_GET['iDisplayStart'] ).", ".
|
|
intval( $_GET['iDisplayLength'] );
|
|
}
|
|
|
|
|
|
/*
|
|
* Ordering
|
|
*/
|
|
$sOrder = "";
|
|
if ( isset( $_GET['iSortCol_0'] ) )
|
|
{
|
|
$sOrder = "ORDER BY ";
|
|
for ( $i=0 ; $i<intval( $_GET['iSortingCols'] ) ; $i++ )
|
|
{
|
|
if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
|
|
{
|
|
$sOrder .= "".$aColumns[ intval( $_GET['iSortCol_'.$i] ) ]." ".
|
|
($_GET['sSortDir_'.$i]==='desc' ? 'asc' : 'desc') .", ";
|
|
}
|
|
}
|
|
|
|
$sOrder = substr_replace( $sOrder, "", -2 );
|
|
if ( $sOrder == "ORDER BY" )
|
|
{
|
|
$sOrder = "";
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Filtering
|
|
* NOTE this does not match the built-in DataTables filtering which does it
|
|
* word by word on any field. It's possible to do here, but concerned about efficiency
|
|
* on very large tables, and MySQL's regex functionality is very limited
|
|
*/
|
|
$sWhere = "";
|
|
if ( isset($_GET['sSearch']) && $_GET['sSearch'] != "" )
|
|
{
|
|
$sWhere = "WHERE (";
|
|
for ( $i=0 ; $i<count($aColumns) ; $i++ )
|
|
{
|
|
if ( isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == "true" )
|
|
{
|
|
$sWhere .= "".$aColumns[$i]." LIKE '%".$_GET['sSearch']."%' OR ";
|
|
}
|
|
}
|
|
$sWhere = substr_replace( $sWhere, "", -3 );
|
|
$sWhere .= ')';
|
|
}
|
|
|
|
/* Individual column filtering */
|
|
for ( $i=0 ; $i<count($aColumns) ; $i++ )
|
|
{
|
|
if ( isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '' )
|
|
{
|
|
if ( $sWhere == "" )
|
|
{
|
|
$sWhere = "WHERE ";
|
|
}
|
|
else
|
|
{
|
|
$sWhere .= " AND ";
|
|
}
|
|
$sWhere .= "".$aColumns[$i]." LIKE '%".$_GET['sSearch_'.$i]."%' ";
|
|
}
|
|
}
|
|
|
|
/*
|
|
* SQL queries
|
|
* Get data to display
|
|
*/
|
|
$sQuery0 = "
|
|
SELECT tp.*, tj.nmJurusan, tf.nmFakultas
|
|
FROM $sTable LEFT JOIN tbjurusan tj ON (tp.idJur=tj.idJur)
|
|
LEFT JOIN tbfakultas tf ON (tp.idFak=tf.idFak)
|
|
$sWhere
|
|
$sOrder
|
|
";
|
|
//echo $sQuery0;
|
|
$db->runQuery($sQuery0);
|
|
$iFilteredTotal = $db->dbRows();
|
|
|
|
$result=$db->runQuery($sQuery0.$sLimit);
|
|
|
|
/* Total data set length */
|
|
$sQuery2 = "
|
|
SELECT COUNT(tp.idProdi) as total FROM tbprodi tp
|
|
LEFT JOIN tbjurusan tj ON (tp.idJur=tj.idJur)
|
|
LEFT JOIN tbfakultas tf ON (tp.idFak=tf.idFak)
|
|
";
|
|
$db->runQuery($sQuery2);
|
|
$aResultTotal = $db->dbFetch();
|
|
$iTotal = $aResultTotal['total'];
|
|
|
|
$output = array(
|
|
"sEcho" => intval($_GET['sEcho']),
|
|
"iTotalRecords" => $iTotal,
|
|
"iTotalDisplayRecords" => $iFilteredTotal,
|
|
"aaData" => array()
|
|
);
|
|
|
|
while ( $aRow = $db->dbFetch($result) )
|
|
{
|
|
//print_r($aRow);
|
|
$row = array();
|
|
|
|
$row[0]='<center>'.$aRow['idFak'].'</center>';
|
|
$row[1]='<center>'.$aRow['nmFakultas'].'</center>';
|
|
$row[2]='<center>'.$aRow['nmJurusan'].'</center>';
|
|
$row[3]=$aRow['nmProdi'];
|
|
$aksi='<div class="btn-group">
|
|
<a class="btn btn-primary dropdown-toggle btn-sm" data-toggle="dropdown" href="#">
|
|
<i class="icon-cog"></i> <span class="caret"></span>
|
|
</a>
|
|
<ul role="menu" class="dropdown-menu pull-right">
|
|
|
|
<li role="presentation">
|
|
<a role="menuitem" tabindex="-1" href="#" onClick="EditProdi('.$aRow['idProdi'].')">
|
|
<i class="icon-edit"></i> Edit
|
|
</a>
|
|
</li>
|
|
<li role="presentation">
|
|
<a role="menuitem" tabindex="-1" href="#" onClick="HapusProdi('.$aRow['idProdi'].')">
|
|
<i class="icon-remove"></i> Hapus
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>';
|
|
$row[4]=$aksi;
|
|
|
|
$output['aaData'][] = $row;
|
|
// print_r($row);
|
|
|
|
}
|
|
|
|
echo json_encode( $output );
|
|
?>
|