Зависание данных при изменении записей показа

#php #jquery #mysql #datatables

#php #jquery #mysql #таблицы данных

Вопрос:

У меня есть как показано ниже: после изменения show entries datatable нет ответаПосле того, как я изменил show entries на 25 в datatable, datatable, похоже, не отвечает. Это просто отображение processing внутри тела datatable.

Это скрипт на стороне сервера для отображения записей:

 $sLimit = "";
        if ( isset( $_POST['iDisplayStart'] ) )
        {
                $sLimit = " LIMIT ".mysql_real_escape_string( $_POST['iDisplayStart'] ).", ".
                        mysql_real_escape_string( $_POST['iDisplayLength'] );
        }
  

почему это происходит? как это исправить?
Точно, у меня есть две таблицы данных внутри этой страницы.Я помещаю их в разные вкладки.

Скрипт с данными

таблица html

серверный скрипт


Проблема возникает во время показа range столбца, но если не использовать этот столбец, все может работать должным образом.запрос, подобный:

 $sQuery = "SELECT DATE(A.Inspection_datetime) AS Date, A.Line, A.Model, 
                                  A.Lot_no,A.Range_sampling,COUNT(A.Serial_number) AS Error,B.name AS PIC
                           FROM inspection_report A
                           LEFT JOIN Employee B
                           ON A.NIK=B.NIK
                           WHERE CHAR_LENGTH( A.Range_sampling ) < 17
                           AND MONTH(A.Inspection_datetime)=MONTH(CURRENT_DATE)" .$sWhere.$sGroupBy.$sOrder.$sLimit;
  

CHAR_LENGTH Является ли это основной причиной? именно эта проблема возникает только на сервере базы данных для локального компьютера, все идет хорошо.почему?

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

1. можете ли вы выгрузить весь запрос и опубликовать его? где-то должна быть ошибка..

2. Я думаю, что ошибка в вашей таблице. Можете ли вы предоставить дополнительную информацию?

3. @all: Я сбросил весь скрипт, пожалуйста, проверьте это.

4. fnCallback(json); который вызывается в вашем скрипте, нигде не определен. Подумайте о добавлении перед ним вызова console.log() or alert() , чтобы посмотреть, удалось ли вообще выполнить ajax (в этом случае это виновник), и если да, вставьте его определение тоже.

5. @Denis: Я добавляю оповещение (json) после успеха, затем показываю оповещение [object Object] .

Ответ №1:

У меня была такая же проблема. В обработчике fnServerData вы можете прочитать aoData[0].значение, чтобы получить значение ‘sEcho’. Эти значения должны быть присвоены свойству sEcho объекта json, который вы передаете в свой datatable.

Ожидаемый тип для sEcho также является строкой, и вы преобразуете его в целое число.

 $sOutput .= '"sEcho": '.intval($_POST['sEcho']).','; 
  

попробуйте просто

$sOutput .= '"sEcho": "'. $_POST['sEcho'] .'" ,';