Оба они работают хорошо IF Я установил serverSide равным false и использовал ajax для публикации моих данных, как вы можете видеть ниже. В основном у меня есть несколько dataTable, которые я хотел бы повторно использовать server_side. php, чтобы извлекать данные из определенных таблиц (поэтому мне нужно передать значение соответственно для серверной части). Я не уверен, почему отображается ошибка, когда serverSide имеет значение true при отправке данных на мою server_side. php. При установке serverSide = true все, что я вижу, - это клиентская сторона, показывающая обработку в моем DataTable. Ни больше ни меньше. Но если я установлю serverSide = false, данные будут сгенерированы безупречно, все работает нормально. В моем случае мне нужно использовать serverSide, что верно.
Это моя php страница, которую я использовал для отображения данных, передаваемых со стороны сервера. Таблица
<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/dt-1.10.21/r-2.2.4/datatables.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var example = $('#example').DataTable({
"processing": true,
"serverSide": true,
"responsive": true,
ajax: {
url: "server_side.php",
type: "post",
data: {
view: 'product_upload'
}
},
"order": [],
"columnDefs": [{
targets: [0],
className: "dt-body-center",
"orderable": false,
}, {
targets: [1],
className: "dt-body-center"
}]
});
</script>
Это моя server_side. php.
<?php
session_start();
$whereAll = isset($_SESSION["agent_code"]) ? ($_SESSION["agent_code"]) : '';
$view_type = isset($_POST['view']) ? $_POST['view'] : '';
/*
* DataTables example server-side processing script.
*
* Please note that this script is intentionally extremely simple 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 = $view_type;
// 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' => 'product_name',
'dt' => 0,
'formatter' => function ($d, $row) {
return '<input type="checkbox" id="' . $d . '" class="check_boxes">';
}
),
array(
'db' => 'image_path',
'dt' => 1,
'formatter' => function ($d, $row) {
return "<img src='" . $d . "' style='width:100px' class='text-center' />";
}
),
array(
'db' => 'product_name', 'dt' => 2,
'formatter' => function ($d, $row) {
return 'Category :' . $row['category'] . '<br/>Name :' . $row['product_name'] . '<br/>Description :' . $row['product_description'];
}
),
array('db' => 'quantity', 'dt' => 3),
array('db' => 'weight', 'dt' => 4),
array('db' => 'uom', 'dt' => 5),
array('db' => 'price', 'dt' => 6),
array(
'db' => 'product_name', 'dt' => 7,
'formatter' => function ($d, $row) {
return '<a href="#">Edit</a><br/><a href="#">Update</a><br/><a href="#">Delete</a>';
}
),
array('db' => 'category', 'dt' => 8),
array('db' => 'product_description', 'dt' => 9)
);
// SQL server connection information
$sql_details = array(
'user' => 'root',
'pass' => '',
'db' => 'ecom',
'host' => 'localhost'
);
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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)
SSP::complex($_GET, $sql_details, $table, $primaryKey, $columns, null, "added_by = '" . $whereAll . "' and is_show = '1'")
);
Заранее спасибо!