Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Script: DataTables server-side script for PHP 5.2+ and MySQL 4.1+
- * Notes: Based on a script by Allan Jardine that used the old PHP mysql_* functions.
- * Rewritten to use the newer object oriented mysqli extension.
- * Copyright: 2010 - Allan Jardine (original script)
- * 2012 - Kari Söderholm, aka Haprog (updates)
- * License: GPL v2 or BSD (3-point)
- */
- mb_internal_encoding('UTF-8');
- /**
- * Array of database columns which should be read and sent back to DataTables. Use a space where
- * you want to insert a non-database field (for example a counter or static image)
- */
- $aColumns = array( 'id_deposit', 'tanggal', 'kode','nama_maskapai','nilai','nama_rek','keterangan' ); //Kolom Pada Tabel
- // Indexed column (used for fast and accurate table cardinality)
- $sIndexColumn = 'id_deposit';
- // DB table to use
- $sTable = 'tb_deposit_maskapai'; // Nama Tabel
- // Database connection information
- $gaSql['user'] = 'root';
- $gaSql['password'] = '';
- $gaSql['db'] = 'tes'; //Database
- $gaSql['server'] = 'localhost';
- $gaSql['port'] = 3306; // 3306 is the default MySQL port
- // Input method (use $_GET, $_POST or $_REQUEST)
- $input =& $_POST;
- $gaSql['charset'] = 'utf8';
- /**
- * MySQL connection
- */
- $db = new mysqli($gaSql['server'], $gaSql['user'], $gaSql['password'], $gaSql['db'], $gaSql['port']);
- if (mysqli_connect_error()) {
- die( 'Error connecting to MySQL server (' . mysqli_connect_errno() .') '. mysqli_connect_error() );
- }
- if (!$db->set_charset($gaSql['charset'])) {
- die( 'Error loading character set "'.$gaSql['charset'].'": '.$db->error );
- }
- /**
- * Paging
- */
- $sLimit = "";
- if ( isset( $input['iDisplayStart'] ) && $input['iDisplayLength'] != '-1' ) {
- $sLimit = " LIMIT ".intval( $input['iDisplayStart'] ).", ".intval( $input['iDisplayLength'] );
- }
- /**
- * Ordering
- */
- $aOrderingRules = array();
- if ( isset( $input['iSortCol_0'] ) ) {
- $iSortingCols = intval( $input['iSortingCols'] );
- for ( $i=0 ; $i<$iSortingCols ; $i++ ) {
- if ( $input[ 'bSortable_'.intval($input['iSortCol_'.$i]) ] == 'true' ) {
- $aOrderingRules[] =
- "`".$aColumns[ intval( $input['iSortCol_'.$i] ) ]."` "
- .($input['sSortDir_'.$i]==='asc' ? 'asc' : 'desc');
- }
- }
- }
- if (!empty($aOrderingRules)) {
- $sOrder = " ORDER BY ".implode(", ", $aOrderingRules);
- } else {
- $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
- */
- $iColumnCount = count($aColumns);
- if ( isset($input['sSearch']) && $input['sSearch'] != "" ) {
- $aFilteringRules = array();
- for ( $i=0 ; $i<$iColumnCount ; $i++ ) {
- if ( isset($input['bSearchable_'.$i]) && $input['bSearchable_'.$i] == 'true' ) {
- $aFilteringRules[] = "`".$aColumns[$i]."` LIKE '%".$db->real_escape_string( $input['sSearch'] )."%'";
- }
- }
- if (!empty($aFilteringRules)) {
- $aFilteringRules = array('('.implode(" OR ", $aFilteringRules).')');
- }
- }
- // Individual column filtering
- for ( $i=0 ; $i<$iColumnCount ; $i++ ) {
- if ( isset($input['bSearchable_'.$i]) && $input['bSearchable_'.$i] == 'true' && $input['sSearch_'.$i] != '' ) {
- $aFilteringRules[] = "`".$aColumns[$i]."` LIKE '%".$db->real_escape_string($input['sSearch_'.$i])."%'";
- }
- }
- if (!empty($aFilteringRules)) {
- $sWhere = " WHERE ".implode(" AND ", $aFilteringRules);
- } else {
- $sWhere = "";
- }
- /* Join Tabel */
- $sJoin = " left join tb_maskapai on tb_deposit_maskapai.id_maskapai = tb_maskapai.id_maskapai
- left join tb_rek on tb_deposit_maskapai.id_rek=tb_rek.id_rek";
- /*-------------------------*/
- $aksi="module/mod_deposit_maskapai/proses.php";
- /**
- * SQL queries
- * Get data to display
- */
- $aQueryColumns = array();
- foreach ($aColumns as $col) {
- if ($col != ' ') {
- $aQueryColumns[] = $col;
- }
- }
- $sQuery = "
- SELECT SQL_CALC_FOUND_ROWS `".implode("`, `", $aQueryColumns)."`
- FROM `".$sTable."`".$sJoin.$sWhere.$sOrder.$sLimit;
- $rResult = $db->query( $sQuery ) or die($db->error);
- // Data set length after filtering
- $sQuery = "SELECT FOUND_ROWS()";
- $rResultFilterTotal = $db->query( $sQuery ) or die($db->error);
- list($iFilteredTotal) = $rResultFilterTotal->fetch_row();
- // Total data set length
- $sQuery = "SELECT COUNT(`".$sIndexColumn."`) FROM `".$sTable."`";
- $rResultTotal = $db->query( $sQuery ) or die($db->error);
- list($iTotal) = $rResultTotal->fetch_row();
- // Fungsi rupiah //
- function fungsi_rupiah($angka){
- $rupiah=number_format($angka,2,',','.');
- return $rupiah;
- };
- /**
- * Output
- */
- $output = array(
- "sEcho" => intval($input['sEcho']),
- "iTotalRecords" => $iTotal,
- "iTotalDisplayRecords" => $iFilteredTotal,
- "aaData" => array(),
- );
- // Looping Data
- while ( $aRow = $rResult->fetch_assoc() ) {
- $row = array();
- $btn = '<a href="?content=deposit-maskapai&act=edit&id='.$aRow['id_deposit'].'">Edit</a> | <a href="'.$aksi.'?content=deposit-maskapai&act=hapus&id='.$aRow['id_deposit'].'&kode='.$aRow['kode'].'">Hapus</a>';
- for ( $i=0 ; $i<$iColumnCount ; $i++ ) {
- $row[] = $aRow[ $aColumns[$i] ];
- }
- $row = array( '<div align="center">'.$aRow['tanggal'].'</div>', '<div align="center">'.$aRow['kode'].'</div>', '<div align="center">'.$aRow['nama_maskapai'].'</div>',
- '<div align="left" style="float:left; width:30px">Rp</div><div align="right">'.fungsi_rupiah($aRow['nilai']).'</div>', $aRow['nama_rek'], $aRow['keterangan'], '<div align="center">'.$btn.'</div>' );
- $output['aaData'][] = $row;
- }
- echo json_encode( $output );
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement