2017-07-08 60 views
-1

我想使用数据表插件显示数据库中的数据,但问题是,它显示了所有数据在一个页面中,仍然显示显示1和10分页按钮出现,但不会工作。Datatable分页不适用于服务器端

enter image description here

enter image description here

的jquery:

<script> 
 
    $(document).ready(function() { 
 
    $('#leads').DataTable({ 
 
     "processing": true, 
 
     "serverSide": true, 
 
     "ajax":{ 
 
      url :"includes/get_data_script_test.php", // json datasource 
 
      type: "post", // type of method , by default would be get 
 
      } 
 
    }); 
 
}); 
 
</script>

get_data_script_test.php:

<?php 
 
    
 
/* 
 
* DataTables example server-side processing script. 
 
* 
 
* Please note that this script is intentionally extremely simply to show how 
 
* server-side processing can be implemented, and probably shouldn't be used as 
 
* the basis for a large complex system. It is suitable for simple use cases as 
 
* for learning. 
 
* 
 
* See http://datatables.net/usage/server-side for full details on the server- 
 
* side processing requirements of DataTables. 
 
* 
 
* @license MIT - http://datatables.net/license_mit 
 
*/ 
 
    
 
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 
* Easy set variables 
 
*/ 
 
    
 
// DB table to use 
 
$table = 'lead'; 
 
    
 
// Table's primary key 
 
$primaryKey = 'id'; 
 
    
 
// Array of database columns which should be read and sent back to DataTables. 
 
// The `db` parameter represents the column name in the database, while the `dt` 
 
// parameter represents the DataTables column identifier. In this case simple 
 
// indexes 
 

 
$columns = array(
 
    array('db' => 'name', 'dt' => 0), 
 
); 
 
    
 
// SQL server connection information 
 
$sql_details = array(
 
    'user' => '**********', 
 
    'pass' => '***********', 
 
    'db' => '**********', 
 
    'host' => '**********' 
 
); 
 
    
 
    
 
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 
* If you just want to use the basic configuration for DataTables with PHP 
 
* server-side, there is no need to edit below this line. 
 
*/ 
 
    
 
require('ssp_class.php'); 
 
    
 
echo json_encode(
 
    SSP::simple($_GET, $sql_details, $table, $primaryKey, $columns) 
 
); 
 
?>

+0

你可以发布你的HTML? – inye

+0

每页10行,共699行,共70页,除非实际上没有那么多行,否则数学将起作用。您的php应该设置属性来告诉客户端数据库中有多少行。 – Bindrid

回答

0

有你需要把它安装在jquery脚本分页工作。您需要像这样:

<script> 
 
    $(document).ready(function() { 
 
    $('#leads').DataTable({ 
 
     "lengthMenu": [[10,15,20,25,-1], [10,15,20,25,'All']], //This line needs added so that it knows what to set the page lengths to 
 
     "processing": true, 
 
     "serverSide": true, 
 
     "ajax":{ 
 
      url :"includes/get_data_script_test.php", // json datasource 
 
      type: "post", // type of method , by default would be get 
 
      } 
 
    }); 
 
}); 
 
</script>

没有lengthMenu数据表将不知道如何设置页面长度,并只显示所有的数据。

+0

感谢您的帮助,但已解决。再次感谢。 – Jayprakash

+0

@Jayprakash我很高兴听到这个问题已经解决了。你能回答你如何解决这个问题吗?这可以帮助其他有类似问题的人。 – Mike