如何修复未在PHP,HTML中的数据表上显示的数据

时间:2018-12-24 05:45:04

标签: php html ajax datatables

我最近才发现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无法正常运行。谢谢大家的帮助

2 个答案:

答案 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论坛上发帖非常有帮助,因为这是非常专业的代码。