Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.65 KB | None | 0 0
  1. <?php
  2. function GetDataMsSQL2($aColumns = array(),$sIndexColumn = '',$sTable ='',$add_where = '')
  3.     {
  4.         //load database
  5.         $united6 = $this->load->database('united6', true);
  6.        
  7.         if(empty($aColumns) || $sIndexColumn == '' || $sTable == '')
  8.             return $this->return_empty();
  9.         $sLimit = "";
  10.  
  11.         if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
  12.         {
  13.             $start = $this->input->get('iDisplayStart');
  14.             $end = $start + $this->input->get('iDisplayLength');
  15.             $sLimit = " row_number > ".$start.' AND row_number <= '.$end;
  16.         }
  17.        
  18.         /*
  19.          * Ordering
  20.          */
  21.         $sOrder = '';
  22.         if ( isset( $_GET['iSortCol_0'] ) )
  23.         {
  24.             $sOrder = "ORDER BY  ";
  25.             for ( $i=0 ; $i<intval( $_GET['iSortingCols'] ) ; $i++ )
  26.             {
  27.                 if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
  28.                 {
  29.                     $sOrder .= $aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."
  30.                    ".$united6->escape_str( $_GET['sSortDir_'.$i] ) .", ";
  31.                 }
  32.             }
  33.            
  34.             $sOrder = substr_replace( $sOrder, "", -2 );
  35.             if ( $sOrder == "ORDER BY" )
  36.             {
  37.                 $sOrder = "";
  38.             }
  39.         }
  40.        
  41.         $sWhere = "";
  42.         if ( isset($_GET['sSearch']) && $_GET['sSearch'] != "" )
  43.         {
  44.             $sWhere = "WHERE (";
  45.             for ( $i=0 ; $i<count($aColumns) ; $i++ )
  46.             {
  47.                 //check for date field start here
  48.                 $datefield = array('last_login','start_date','create_date');
  49.                 if(in_array($aColumns[$i],$datefield))
  50.                     $sWhere .= "DATE_FORMAT(".$aColumns[$i].",'%d %b %Y') LIKE '%".$united6->escape_str( $_GET['sSearch'] )."%' OR ";
  51.                 else          
  52.                     $sWhere .= $aColumns[$i]." LIKE '%".$united6->escape_str( $_GET['sSearch'] )."%' OR ";
  53.                 //end here
  54.             }
  55.             $sWhere = substr_replace( $sWhere, "", -3 );
  56.             $sWhere .= ')';
  57.         }
  58.        
  59.         /* Individual column filtering */
  60.         for ( $i=0 ; $i<count($aColumns) ; $i++ )
  61.         {
  62.             if ( isset($_GET['bSearchable_'.$i]) && ($_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '' ))
  63.             {
  64.                 if ( $sWhere == "" )
  65.                 {
  66.                     $sWhere = "WHERE ";
  67.                 }
  68.                 else
  69.                 {
  70.                     $sWhere .= " AND ";
  71.                 }
  72.                 $sWhere .= $aColumns[$i]." LIKE '%".$united6->escape_str($_GET['sSearch_'.$i])."%' ";
  73.             }
  74.         }
  75.         if($add_where != '')
  76.         {
  77.             if ( $sWhere == "" )
  78.             {
  79.                 $sWhere = "WHERE ";
  80.             }
  81.             else
  82.             {
  83.                 $sWhere .= " AND ";
  84.             }
  85.             $sWhere .= " ".$add_where." ";
  86.         }
  87.        
  88.         $sLimit = (($sLimit!="")? " WHERE ".$sLimit : "");
  89.  
  90.         /*
  91.          * SQL queries
  92.          * Get data to display
  93.          */
  94.         $sQuery = "
  95.            SELECT * FROM (
  96.            SELECT ".str_replace(" , ", " ", implode(", ", $aColumns)).", ROW_NUMBER() OVER (ORDER BY ".$sIndexColumn.") as row_number
  97.            FROM   $sTable $sWhere) SRC
  98.            $sLimit
  99.            $sOrder
  100.        ";
  101.         //die($sQuery);
  102.         $datares = $united6->query($sQuery);
  103.        
  104.         /* Data set length after filtering */
  105.         $sQuery = "
  106.                SELECT COUNT(".$sIndexColumn.") as count
  107.                FROM   $sTable ".$sWhere;
  108.         $datares2 = $united6->query($sQuery);
  109.        
  110.         $iFilteredTotal = $datares2->row()->count;
  111.        
  112.         /* Total data set length */
  113.        
  114.         if($add_where != '')
  115.         {
  116.             $sQuery = "
  117.                SELECT COUNT(".$sIndexColumn.") as count
  118.                FROM   $sTable WHERE ".$add_where;
  119.         }
  120.         else
  121.         {
  122.             $sQuery = "
  123.                SELECT COUNT(".$sIndexColumn.") as count
  124.                FROM   $sTable ";
  125.         }
  126.        
  127.         $datacount = $united6->query($sQuery);
  128.         $iTotal = $datacount->row()->count;
  129.        
  130.        
  131.         /*
  132.          * Output
  133.          */
  134.         $output = array(
  135.             "sEcho" => isset($_GET['sEcho']) ? intval($_GET['sEcho']) : 0,
  136.             "iTotalRecords" => $iTotal,
  137.             "iTotalDisplayRecords" => $iFilteredTotal,
  138.             "aaData" => array()
  139.         );
  140.                
  141.         return array('output'=>$output,'datares'=>$datares);
  142.     }
  143. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement