Advertisement
Guest User

Untitled

a guest
May 5th, 2016
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.26 KB | None | 0 0
  1. $(document).ready(function() {
  2. var dataTable = $('#employee-grid').DataTable({
  3. "lengthMenu": [
  4. [10, 25, 50, -1],
  5. [10, 25, 50, "All"]
  6. ],
  7. "processing": true,
  8. "serverSide": true,
  9. "ajax": {
  10. url: "employee-grid-data.php", // json datasource
  11. type: "post", // method , by default get
  12. error: function() { // error handling
  13. $(".employee-grid-error").html("");
  14. $("#employee-grid").append('<tbody class="employee-grid-error"><tr><th colspan="3">No data found in the server</th></tr></tbody>');
  15. $("#employee-grid_processing").css("display", "none");
  16.  
  17. }
  18. }
  19. });
  20. });
  21.  
  22. $sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." "; // $requestData['order'][0]['column'] contains colmun index, $requestData['order'][0]['dir'] contains order such as asc/desc , $requestData['start'] contains start row number ,$requestData['length'] contains limit length.
  23. $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees"); // again run query with limit
  24.  
  25. if ($requestData['length']!==-1){
  26. $sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." ";
  27. } else {
  28. $sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']
  29. }
  30. $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees");
  31.  
  32. <?php
  33. /* Database connection start */
  34. $servername = "localhost";
  35. $username = "root";
  36. $password = "Password1";
  37. $dbname = "test";
  38.  
  39. $conn = mysqli_connect($servername, $username, $password, $dbname) or die("Connection failed: " . mysqli_connect_error());
  40.  
  41. /* Database connection end */
  42.  
  43.  
  44. // storing request (ie, get/post) global array to a variable
  45. $requestData= $_REQUEST;
  46.  
  47.  
  48. $columns = array(
  49. // datatable column index => database column name
  50. 0 =>'employee_name',
  51. 1 => 'employee_salary',
  52. 2=> 'employee_age'
  53. );
  54.  
  55. // getting total number records without any search
  56. $sql = "SELECT employee_name, employee_salary, employee_age ";
  57. $sql.=" FROM employee";
  58. $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees");
  59. $totalData = mysqli_num_rows($query);
  60. $totalFiltered = $totalData; // when there is no search parameter then total number rows = total number filtered rows.
  61.  
  62.  
  63. if( !empty($requestData['search']['value']) ) {
  64. // if there is a search parameter
  65. $sql = "SELECT employee_name, employee_salary, employee_age ";
  66. $sql.=" FROM employee";
  67. $sql.=" WHERE employee_name LIKE '".$requestData['search']['value']."%' "; // $requestData['search']['value'] contains search parameter
  68. $sql.=" OR employee_salary LIKE '".$requestData['search']['value']."%' ";
  69. $sql.=" OR employee_age LIKE '".$requestData['search']['value']."%' ";
  70. $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees");
  71. $totalFiltered = mysqli_num_rows($query); // when there is a search parameter then we have to modify total number filtered rows as per search result without limit in the query
  72.  
  73. if ($requestData['length']!==-1){
  74. $sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." "; // $requestData['order'][0]['column'] contains colmun index, $requestData['order'][0]['dir'] contains order such as asc/desc , $requestData['start'] contains start row number ,$requestData['length'] contains limit length.
  75. } else {
  76. $sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']
  77. }
  78. $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees"); // again run query with limit
  79.  
  80. } else {
  81.  
  82. $sql = "SELECT employee_name, employee_salary, employee_age ";
  83. $sql.=" FROM employee";
  84.  
  85. if ($requestData['length']!==-1){
  86. $sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." ";
  87. } else {
  88. $sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']
  89. }
  90. $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees");
  91.  
  92. }
  93.  
  94. $data = array();
  95. while( $row=mysqli_fetch_array($query) ) { // preparing an array
  96. $nestedData=array();
  97.  
  98. $nestedData[] = $row["employee_name"];
  99. $nestedData[] = $row["employee_salary"];
  100. $nestedData[] = $row["employee_age"];
  101.  
  102. $data[] = $nestedData;
  103. }
  104.  
  105.  
  106.  
  107. $json_data = array(
  108. "draw" => intval( $requestData['draw'] ), // for every request/draw by clientside , they send a number as a parameter, when they recieve a response/data they first check the draw number, so we are sending same number in draw.
  109. "recordsTotal" => intval( $totalData ), // total number of records
  110. "recordsFiltered" => intval( $totalFiltered ), // total number of records after searching, if there is no searching then totalFiltered = totalData
  111. "data" => $data // total data array
  112. );
  113.  
  114. echo json_encode($json_data); // send data as json format
  115.  
  116. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement