2015-05-19 5 views
0

У меня есть таблица, я хотел бы разобраться в моем PHP файл:Как сортировать таблицу по названию

//Table headers 
echo "<tr><th>ID</th>"; 
echo "<th>Name</th>"; 
echo "<th>Badge Number</th>"; 
echo "<th>Category</th>"; 
echo "<th>Action</th>"; 
     . 
     . 
    Some codes 
     . 
     . 

echo "<tr>"; 
echo "<td id=\"row$count\">$id</td>"; 
echo "<td>$name</td>"; 
echo "<td>$badge_number</td>"; 
echo "<td>$category</td>"; 
echo "<td><input type=\"button\" name=\"delete\" value=\"Delete\" onclick=\"deleteThis($count, $privilege)\"/></td>"; 
echo "</tr>"; 

На самом деле я не думаю, что коды нужны, но я не могу показаться, чтобы выяснить выход. Я хочу сортировать таблицу в соответствии с NAME. Мой желаемый результат был бы всякий раз, когда я нажимаю заголовок «Имя», он сортирует таблицу в соответствии с именами в порядке возрастания или убывания.

Я знаю, что это можно сделать с помощью javascript, но мне нужно назначить каждое из значений массиву и использовать array.sort или это какой-нибудь другой лучший способ?

Примечание: Я новичок в JavaScript и все еще изучаю, поэтому, если вы хотите ответить, пожалуйста, сделайте в чистых JavaScript-кодах, а не в jQuery, поскольку я не знаю jQuery. Пожалуйста, не предлагайте никаких плагинов jQuery, таких как «Таблица сортировки» и т. Д.

EDIT: Хорошо, давайте предположим, что я знаю немного jQuery (уровень начального уровня), что я делаю, каковы они для этого пути что нужно сделать?

+1

Если вы хотите использовать чистый javascript, очень сложно его кодировать. это означает, что вы обновляете html после сортировки элементов в JS. jQuery намного легче подобрать, чем vanilla JS. Сначала я изучил jQuery, прежде чем больше узнать о javascript. =) – Mox

+0

это сладкое пятно jQueries - но если вам нравится боль ... –

+0

Хорошо, давайте скажем, что я знаю немного jQuery, что я делаю, каковы они способы для этого? Поставит его в вопросе как редактирование. – hzq

ответ

1

Решение этой проблемы в jQuery будет довольно простым. Решение его в чистом JS было бы невероятно сложным, возможно, невозможным. Я бы настоятельно предложил изучить jQuery, поскольку он поддерживается всеми браузерами и расширяет Javascript способами, которые вы не можете себе представить. Кривая обучения очень крутая, но легко, когда вы учитесь. Хороший сайт, чтобы узнать, JQuery ->http://www.1stwebdesigner.com/jquery-beginners-1/

В JQuery, вы бы просто прочитать строки и разобрать их в ассоциативный массив (объект) с ключами в качестве значения вы сортировочного на и значения каждой строки. Удалите строки из таблицы, затем сортируйте этот объект по ключу, затем добавьте каждый элемент массива в виде строки в таблицу.

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

+0

Если вы дадите мне пример того, что [некоторые коды], я могу написать вам jquery. – Scott

+0

Я вижу, мои данные поступают из базы данных. Я также использую ajax. Было бы возможно, если бы я должен был создать запрос sql для сортировки в базе данных, где бы он был выполнен, если бы я нажал на заголовок, используя функцию javascript ajax? – hzq

+0

Вы делаете ajax без jQuery? Вы действительно занимаетесь очень тяжелой работой, если это правда - удача в том, чтобы заставить ее работать со всеми вкусами IE вместе со стандартными браузерами ... Функции ajax jQuery - это BOMB и просты в реализации. В любом случае, сортировка в вашем sql - это FAR, самый простой способ. Просто очистите таблицу, попросите ajax извлечь новую таблицу и записать ее в документ (все это просто с поддержкой jQuery и кросс-браузером). – Scott

Смежные вопросы