На этом шаге мы рассмотрим способ реализации сортировки на стороне сервера.
Типичное решение проблемы сортировки заключается в реализации ее на стороне сервера. Табличные данные часто извлекаются из базы данных, что для программного кода означает возможность запросить их с требуемым порядком сортировки (используя, например, предложение 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>
Сервер может реагировать на параметр в строке запроса, возвращая содержимое базы данных с иным порядком сортировки.
На следующем шаге мы рассмотрим предотвращение обновления всей страницы.