【发布时间】:2022-01-21 07:28:24
【问题描述】:
我在下面的例子 https://datatables.net/examples/data_sources/server_side
在示例代码中,列数据从数据库返回,如下代码所示
$columns = array(
array( 'db' => 'first_name', 'dt' => 0 ),
array( 'db' => 'last_name', 'dt' => 1 ),
array( 'db' => 'position', 'dt' => 2 )
);
我需要添加第 4 列评级,该值不是来自数据库,而是在 php 函数中计算的。我该怎么做?
array( 'db' => 'rating', 'dt' => 3 ) // 需要从 php 函数中获取值
下面是示例中的服务器端php代码,
$table = 'datatables_demo';
// 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' => 'first_name', 'dt' => 0 ),
array( 'db' => 'last_name', 'dt' => 1 ),
array( 'db' => 'position', 'dt' => 2 ),
array( 'db' => 'office', 'dt' => 3 ),
array(
'db' => 'start_date',
'dt' => 4,
'formatter' => function( $d, $row ) {
return date( 'jS M y', strtotime($d));
}
),
array(
'db' => 'salary',
'dt' => 5,
'formatter' => function( $d, $row ) {
return '$'.number_format($d);
}
)
);
$sql_details = array(
'user' => '',
'pass' => '',
'db' => '',
'host' => ''
);
require( 'ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
【问题讨论】:
-
将sql结果作为数组添加到数组中,使用foreach函数
-
@Undry 怎么样?数据输出在 SSP::simple 函数中生成。
-
请阅读有关 MySQL 的更多信息,通常结果是关联数组,您可以使用 foreach 函数浏览它,使用相同的函数您可以将新字段添加到结果数组中
标签: php datatables server-side