Поиск по этому блогу

воскресенье, 9 сентября 2018 г.

datatables server side processing ajax

Здравствуйте!

При использовании в веб проекте таблиц зачастую все приходят к использованию очень крутого jquery скрипта под названием datatables. Полностью бесплатный ( версия без редактора ) и с кучей функций - обычно хватает за глаза.

инструкция, полезное, ajax, datatables, jquery, программирование,


Но в случае с использованием с большим количеством данных которые нельзя загрузить на страницу во избежание зависания браузера требуется подгружать данные используя ajax. Для этого в официальной инструкции имеется такой вариант загрузки данных как server side processing через post подтягивающий данные возвращённые php файлом.

Но к сожалению он не совсем корректно работает с русским языком ( точнее совсем не работает ). Имеется модифицированная версия данного класса а так же как производить инициализацию ( и передачу параметров если надо ):

$('#table_data').DataTable( { 
"processing": true, 
"serverSide": true, 
"order": [[ 0, "desc" ]], 
"ajax": "server_processing.php" 
});
В случае необходимости передачи параметров их можно передать в GET:
"ajax": "server_processing.php?page=index" 
server_processing.php:
<?php
//Primary el в таблице
$primaryKey = 'id'; 

//Имя таблицы для использования
$table_name = "указать имя";

//Перечисление элементов для вывода из таблицы
$columns = array(
array( 'db' => 'id',   'dt' => 0 )
);

// Информация для подключения к mysql
$sql_details = array(
    'user' => 'Имя_Пользователя',
    'pass' => 'Пароль',
    'db'   => 'Имя_Базы_Данных',
    'host' => 'Хост',
    'charset' => 'utf8'
);
require( 'ssp.class.php' );
echo json_encode(
    SSP::simple( $_GET, $sql_details, $table_name, $primaryKey, $columns )
);

?>
Так же требуется в директорию загрузить видоизменённый ssp.class.php

Надеюсь пост был полезен.
Успехов и хорошего дня!

Комментариев нет:

Отправить комментарий

Поделитесь своим мнением.