На этом шаге мы рассмотрим способ реализации сортировки на стороне сервера.
Типичное решение проблемы сортировки заключается в реализации ее на стороне сервера. Табличные данные часто извлекаются из базы данных, что для программного кода означает возможность запросить их с требуемым порядком сортировки (используя, например, предложение ORDER BY языка SQL). Если у нас имеется доступ к программному коду на стороне сервера, проще всего начать с установки наиболее разумного порядка сортировки по умолчанию.
Однако сортировка обретает свою значимость, когда пользователь может определять свой порядок сортировки. Наиболее часто для данной цели заголовки столбцов таблицы (<th>), допускающих сортировку, преобразуются в ссылки. Эти ссылки могут ссылаться на текущую страницу, но при этом включать строку запроса, определяющую столбец, по которому должна быть выполнена сортировка:
<table id="my-data"> <thead> <tr> <th class="name"> <a href="index.php?sort=name">Name</a> </th> <th class="date"> <a href="index.php?sort=date">Date</a> </th> </tr> </thead> <tbody> . . . . </tbody> </table>
Сервер может реагировать на параметр в строке запроса, возвращая содержимое базы данных с иным порядком сортировки.
На следующем шаге мы рассмотрим предотвращение обновления всей страницы.