我最近才发现DataTables,并希望在我的Web中实现。遵循有关SSP数据的说明,但无法输出我的数据。
我已经尝试了其他几个网站中的一些解决方案,但没有一个。
index.php
<script>
function() {
$('#staff').DataTable( {
processing: true,
serverSide: true,
ajax: {
url: 'data.php',
type: 'POST'
};
} );
}
</script>
data.php
<?php
$table = 'staff';
$primaryKey = 'staff_id';
$columns = array(
array( 'db' => 'staff_id', 'dt' => 0 ),
array( 'db' => 'grade', 'dt' => 1 ),
array( 'db' => 'name', 'dt' => 2 ),
array( 'db' => 'position', 'dt' => 3 ),
array( 'db' => 'cost_centre', 'dt' => 4 ),
array( 'db' => 'station', 'dt' => 5 ),
array( 'db' => 'ic_number', 'dt' => 6 ),
array( 'db' => 'status', 'dt' => 7 )
);
// SQL server connection information
$sql_details = array(
'user' => 'root',
'pass' => '',
'db' => 'feldatransport',
'host' => 'localhost'
);
require( 'ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
?>
我希望数据显示在我的人员表中。
编辑:我将文件上传到我的仓库中。 Github
更新:问题已解决。这是我的剧本安排。我将Jquery脚本放在最后,因此DataTables无法正常运行。谢谢大家的帮助
答案 0 :(得分:0)
请尝试使用“”传递值。就我而言,它与“”一起使用。
ID Item Qty
----------- ------------------------- -----------
3 Printer 3
5 Mouse 20
2 Key Board 10
如果发现有用,请参考我的数据表代码,然后还原。
ajax: {
url: "data.php",
type: "POST"
};
;
答案 1 :(得分:0)
您的标签看起来像这样吗?首先导入(或丢失一个)脚本的顺序可能会使整个数据表插件掉线。
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>DataTables Server-Side Processing</title>
<!-- -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<!-- datatable lib -->
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
</head>
我在服务器端有一个正在运行的数据表:https://databasetable-net.000webhostapp.com/ 有时(我不知道为什么),即使datatables示例使用$ _GET,也必须在server.php中使用$ _POST而不是$ _GET。那可能是一个问题。无论如何,这是我的工作代码。 Server.php
<?php
$table = 'employees';
$primaryKey = 'id'; // Table's primary key
$columns = array(
array( 'db' => 'id', 'dt' => 0 ),
array( 'db' => 'first_name', 'dt' => 1 ),
array( 'db' => 'last_name', 'dt' => 2 ),
array( 'db' => 'zip', 'dt' => 3 ),
array( 'db' => 'date', 'dt' => 4 ),
array( 'db' => 'updated', 'dt' => 5 ),
);
$sql_details = array(
'user' => 'username',
'pass' => 'password',
'db' => 'database',
'host' => 'localhost'
);
require( 'ssp.class.php' );
echo json_encode(
SSP::simple( $_POST, $sql_details, $table, $primaryKey, $columns )
);
?>
最后,在datatables.net论坛上发帖非常有帮助,因为这是非常专业的代码。