Нумерация страниц в PHP

0

Как использовать пейджинг в jTable использовать PHP? У меня есть код ниже в employeeTable.php

    <script src="jtable.2.4.0/jquery.jtable.min.js" type="text/javascript"></script>

    //Get record count
    $result = mysql_query("SELECT COUNT(*) AS RecordCount FROM employee;");
    $row = mysql_fetch_array($result);
    $recordCount = $row['RecordCount'];

    //Get records from database
    $result = mysql_query("SELECT * FROM employee ORDER BY '" . $_REQUEST["jtSorting"] . "' LIMIT '" . $_REQUEST["jtStartIndex"] . "','" . $_REQUEST["jtPageSize"] . "';");

    //Add all records to an array
    $rows = array();
    while($row = mysql_fetch_array($result))
    {
        $rows[] = $row;
    }

    //Return result to jTable
    $jTableResult = array();
    $jTableResult['Result'] = "OK";
    $jTableResult['TotalRecordCount'] = $recordCount;
    $jTableResult['Records'] = $rows;
    print json_encode($jTableResult);

Тогда я понимаю, что проблема здесь

$result = mysql_query("SELECT * FROM employee ORDER BY '" . $_REQUEST["jtSorting"] . "' LIMIT '" . $_REQUEST["jtStartIndex"] . "','" . $_REQUEST["jtPageSize"] . "';");

если я изменяю $ _REQUEST ["jtSorting"] = rowname, $ _REQUEST ["jtStIntIndex"] = number, $ _REQUEST ["jtPageSize"] = number, он работает. Но если я его не изменю, он показывает "Ошибка при общении с сервером".

вот код в jquery.jtable.min.js, когда есть строка о jtSorting, jtStartIndex, jtPageSize

/* Adds jtSorting parameter to a URL as query string.
    *************************************************************************/
    _addSortingInfoToUrl: function (url) {
        if (!this.options.sorting || this._lastSorting.length == 0) {
            return url;
        }

        var sorting = [];
        $.each(this._lastSorting, function (idx, value) {
            sorting.push(value.fieldName + ' ' + value.sortOrder);
        });

        return (url + (url.indexOf('?') < 0 ? '?' : '&') + 'jtSorting=' + sorting.join(","));
    },

    /* Overrides _createJtParamsForLoading method to add sorging parameters to jtParams object.
    *************************************************************************/
    _createJtParamsForLoading: function () {
        var jtParams = base._createJtParamsForLoading.apply(this, arguments);

        if (this.options.sorting && this._lastSorting.length) {
            var sorting = [];
            $.each(this._lastSorting, function (idx, value) {
                sorting.push(value.fieldName + ' ' + value.sortOrder);
            });

            jtParams.jtSorting = sorting.join(",");
        }

        return jtParams;
    }

});
})(jQuery);

Может кто-нибудь, пожалуйста, помогите мне понять?

Теги:
jquery-jtable

1 ответ

0

Я думаю, вам нужно пройти через это один раз. Список jtable для таблицы разбиения на страницы и сортировки

Для этого потребуется jQuery.Deferred для возврата данных.

Обращайте его как

listAction: function (postData, jtParams) {
    return $.Deferred(function ($dfd) {
        $.ajax({
            url: '/Employee_Controller/EmployeeList_method?jtStartIndex=' + jtParams.jtStartIndex + '&jtPageSize=' + jtParams.jtPageSize + '&jtSorting=' + jtParams.jtSorting,
            type: 'POST',
            dataType: 'json',
            data: postData,
            success: function (data) {
                $dfd.resolve(data);
            },
            error: function () {
                $dfd.reject();
            }
        });
    });
}

Вручную отправьте значения для него. Надеюсь, это может быть полезно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню