Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > datatables и кастомный вывод


Автор: nezabor 31.1.2018, 16:14
Суть вопрос - использую datatables.net
ну собственно в шаблоне админки начали, а я как говориться продолжаю.

все очень ровно когда HTML (DOM) sourced data

но когда начинаю использовать для очень больших таблиц Server-side processing(https://www.datatables.net/examples/server_side/post.html), то вопросов больше чем ответов

вот самые, как говориться, животрепещущие
1) первоначальная фильтрация в запросе данных из бд(использую родной ssp.class.php) решил пока вьюхами обойтись, но это не системно)))
2) есть поля например под addslashes(), и вот как их теперь выводить?

ЗЫ
нашел обработку в колбэк js-ом, но это не совсем то что я хотел

Автор: krundetz 31.1.2018, 19:54
Цитата(nezabor @  31.1.2018,  16:14 Найти цитируемый пост)
2) есть поля например под addslashes(), и вот как их теперь выводить?

воспользуйтесь перед выводом функцией stripslashes

Цитата(nezabor @  31.1.2018,  16:14 Найти цитируемый пост)
первоначальная фильтрация в запросе данных из бд(использую родной ssp.class.php) решил пока вьюхами обойтись, но это не системно)))

хорошо бы глянуть сам файл ssp.class.php, но чет не разобрался откуда его скачать

google предполагает что это он https://github.com/DataTables/DataTables/blob/master/examples/server_side/scripts/ssp.class.php, если это так, то просто воспользуйтесь не статическим методом simple предлагаемым в примерах, а статическим методом complex

Автор: nezabor 1.2.2018, 03:02
Цитата(krundetz @  31.1.2018,  19:54 Найти цитируемый пост)
Цитата(nezabor @  31.1.2018,  16:14 )
2) есть поля например под addslashes(), и вот как их теперь выводить?

воспользуйтесь перед выводом функцией stripslashes


Видимо проблема в том, что вы плохо прочитали мой вопрос.

Вывод производится средствами JS скпирта от данного плагина. И меня интересует: где и в каком месте, до JS скрипта, я могу обработать данные.

Цитата(krundetz @  31.1.2018,  19:54 Найти цитируемый пост)
google предполагает что это он https://github.com/DataTables/DataTables/bl...s/ssp.class.php, если это так, то просто воспользуйтесь не статическим методом simple предлагаемым в примерах, а статическим методом complex 


и еще раз... мне нужно отфильтровать данные до того ка результат попадет на страницу. Дальше с фильтрацией все прекрасно работает. 
А вот получить записи из таблицы БД помеченные например полем status=1 в стандартными решениями не получилось.

перенес файлы к себе, так как там еще и с кодировкой для русских буковок пришлось бороться
https://github.com/rasxod/data_tables

Автор: krundetz 2.2.2018, 19:28
Цитата(nezabor @  1.2.2018,  03:02 Найти цитируемый пост)
Видимо проблема в том, что вы плохо прочитали мой вопрос.

Вывод производится средствами JS скпирта от данного плагина. И меня интересует: где и в каком месте, до JS скрипта, я могу обработать данные.

ваш вопрос я прочитал внимательно, а вот вы мой ответ не поняли. Раз мы в форуме php, то и ответ мой про php.  Попробую перефразировать.

1. У нас есть клиент js получает данные и отображает их на экране
2. У нас есть сервер php который собирает данные и отдает эти данные клиенту через поток вывода STDOUT

так вот попробуйте на этапе сбора данных пропустить их через стандартную php функцию stripslashes, и только потом отправлять в поток STDOUT

Цитата(nezabor @  1.2.2018,  03:02 Найти цитируемый пост)
и еще раз... мне нужно отфильтровать данные до того ка результат попадет на страницу.

опять же я это понял, а вот вы мой ответ не поняли. Покажу кодом:

у вас в файле https://github.com/rasxod/data_tables/blob/master/server_side.php

есть такой участок кода:
Код

echo json_encode(
    SSP::simple( $_POST, $sql_details, $table, $primaryKey, $columns)
);


замените его на такой:
Код

echo json_encode(
    SSP::complex( $_POST, $sql_details, $table, $primaryKey, $columns, '`status` = 1')
);


Важно!!! Код из класса SSP в чистом виде применять нельзя, возможны SQL injection.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)