Ограничение tableSorter (сортировка) по одной странице за раз? - PullRequest
2 голосов
/ 13 мая 2010

Я вижу, что в TableSorter вы можете сортировать по одной странице за раз, что касается меня.

Одновременно можно отсортировать только 1 страницу результатов?, Что довольно сильно ограничивает. Если у вас есть результат запроса, который занимает несколько страниц, как вы справитесь с этим?

Если кто-то знает лучше, поправьте меня, если я ошибаюсь

Спасибо.

Ответы [ 2 ]

2 голосов
/ 17 июня 2011

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

Взгляните на этот плагин: "пейджер таблиц" , он позволяет вам поместить пейджер на верх таблицы "сортировщика таблиц".
Я подумал, что это может быть полезно.

Наслаждайтесь ¯ \ _ (ツ) _ / ¯

2 голосов
/ 13 мая 2010

Я бы назначил идентификатор для таблицы, которая соответствует вашим столбцам в SQL-таблице.

$("table thead th").click(function(){
    $.getJSON('ajax/get_results.php', 
        {sortby: $(this).attr('id')},
        function(data) {
            $.each(data, function(){
                // fill table here
            }
        });   
});

Вы можете создать некоторую функцию для сортировки таблицы, которую вы также можете использовать для изменения страницы с помощью AJAX, если вы этого еще не сделали.

А на бэкэнде потом сортируй с SQL

"SELECT * FROM table ORDER BY ".$_GET['sortby']

Конечно, вы должны защитить эту сортировку, например, отфильтровать ее с массивом допустимых значений. Я бы предложил создать массив с разрешенными именами сортировки столбцов и использовать функцию array_intersect () , чтобы отфильтровать только разрешенные значения или просто проверить с помощью

if(isset($allowed_columns[$_GET['sortby']]))

Затем просто выведите все это в JSON, поместив все результаты в массив, а затем:

echo json_encode($array_with_results);

Полагаю, вы хотели бы вывести что-то подобное в JSON:

{
  {col1: 'row1',col2: 'row1',col3: 'row1'},
  {col1: 'row2',col2: 'row2',col3: 'row2'},
  {col1: 'row3',col2: 'row3',col3: 'row3'}
}
...