Advertisement
Guest User

Untitled

a guest
Dec 15th, 2016
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. <?php
  2.  
  3. class DataTable {
  4.  
  5. var $database = "test";
  6. var $host = "127.0.0.1";
  7. var $user = "usertest";
  8. var $pass = "secret";
  9.  
  10.  
  11. var $conn;
  12. var $numRows;
  13. var $baseTest = "test.dbo.";
  14.  
  15. public function __construct() {
  16. $this->connect($this->host, $this->user, $this->pass, $this->database);
  17. }
  18.  
  19. public function connect($_host, $_user, $_password, $_database) {
  20. $this->conn = mssql_connect($_host, $_user, $_password) or die(mssql_get_last_message());
  21. mssql_select_db($this->database, $this->conn) or die(mssql_get_last_message());
  22. }
  23.  
  24. function query($sql) {
  25. mssql_query('SET ANSI_WARNINGS ON', $this->conn) or die(mssql_get_last_message());
  26. mssql_query('SET ANSI_NULLS ON', $this->conn) or die(mssql_get_last_message());
  27.  
  28. $resultQuery = mssql_query($sql, $this->conn) or die(mssql_get_last_message());
  29. $results = array();
  30. while ($row = mssql_fetch_array($resultQuery))
  31. $results[] = $row;
  32. return $results;
  33. }
  34.  
  35. function numRows($sql) {
  36. $resultQuery = mssql_query($sql, $this->conn) or die(mssql_get_last_message());
  37. $result = mssql_num_rows($resultQuery);
  38. return $result;
  39. }
  40.  
  41. public function getData($params, $table, $columns) {
  42. $where = $sqlTot = $sqlRec = '';
  43.  
  44. if( !empty($params['search']['value']) ) {
  45. $where = " WHERE";
  46. $i = 0;
  47. foreach($columns as $c) {
  48. if($i === 0) {
  49. $where .= (count($columns) === 1) ? " (" . $c . " LIKE '%" . $params['search']['value'] . "%' "
  50. : " ( " . $c . " LIKE '%" . $params['search']['value'] . "%' ";
  51. } else {
  52. $where .=" OR " . $c . " LIKE '%" . $params['search']['value'] . "%' ";
  53. }
  54. $i++;
  55. }
  56. $where .= " )";
  57. }
  58.  
  59. $sql = "SELECT * FROM " . $this->baseTest . "[" . $tabla . "]";
  60.  
  61. //Total de registros en la tabla
  62. $totalRecords = $this->numRows(utf8_decode($sql));
  63.  
  64. $sqlTot .= $sql;
  65.  
  66. $sqlRec = "SELECT TOP " . $params['length'] . " * FROM( SELECT *, ROW_NUMBER() over (ORDER BY "
  67. . $columns[$params['order'][0]['column']] . " "
  68. . $params['order'][0]['dir'] . " ) as ct FROM "
  69. . $this->baseTest . "[" . $table . "]"
  70. . " " . $where . " ) sub WHERE ct > " . $params['start'];
  71. if(isset($where) && $where != '') {
  72. $sqlTot .= $where;
  73. }
  74.  
  75. //Registros a mostrar en la tabla
  76. $dataRecords = $this->query(utf8_decode($sqlRec));
  77.  
  78. //Total registros después del filtro
  79. $totalRecordsFiltered = $this->numRows(utf8_decode($sqlTot));
  80. $data = array(
  81. "draw" => intval($params['draw']),
  82. "recordsTotal" => intval($totalRecords),
  83. "recordsFiltered" => intval($totalRecordsFiltered),
  84. "data" => $dataRecords
  85. );
  86.  
  87. return $data;
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement