Отсортировать Кликом По Заголовку Столбца

Тема в разделе "PHP программирование", создана пользователем Nick888, 10 ноя 2014.

  1. Nick888

    Nick888 Member

    Регистрация:
    10 ноя 2014
    Сообщения:
    9
    Симпатии:
    0
    Многомерный массив выведен в таблицу. Таблица с 4 полями: фамилия, имя, дата рождения, номер зачётной книжки. Сортировка сделана по номеру зачётной книжки (возрастание, убывание). Как теперь сделать, чтобы сортировка производилась кликом по заголовку столбца?

    <?php

    $Mass = array(

    array('Surname' => 'Ив', 'Name' => 'Иван', 'Birthday' => '1966.01.01', 'Creditbook' => '111'),
    array('Surname' => 'Хр', 'Name' => 'Денис', 'Birthday' => '1968.02.02', 'Creditbook' => '112'),
    array('Surname' => 'Ша', 'Name' => 'Николай', 'Birthday' => '1975.03.03', 'Creditbook' => '1199'),
    array('Surname' => 'Че', 'Name' => 'Егор', 'Birthday' => '1976.04.04', 'Creditbook' => '1144'),
    array('Surname' => 'Пр', 'Name' => 'Евгений', 'Birthday' => '1962.05.05', 'Creditbook' => '110'),
    array('Surname' => 'Ар', 'Name' => 'Илья', 'Birthday' => '1960.06.06', 'Creditbook' => '116'),
    array('Surname' => 'Пу', 'Name' => 'Александр', 'Birthday' => '1999.07.07', 'Creditbook' => '117'),
    array('Surname' => 'Ма', 'Name' => 'Антон', 'Birthday' => '1988.08.08', 'Creditbook' => '118'),
    array('Surname' => 'Жд', 'Name' => 'Александр', 'Birthday' => '1980.09.09', 'Creditbook' => '119'),
    array('Surname' => 'Ше', 'Name' => 'Виталий', 'Birthday' => '1990.10.10', 'Creditbook' => '120')

    );

    echo '<table border=1>';

    # Шапка таблицы
    echo '<td>Surname</td>';
    echo '<td>Name</td>';
    echo '<td>Birthday</td>';
    echo '<td>Creditbook</td>';

    # Функции сортировки по возрастанию и убыванию

    function compare1 ($v1, $v2) {
    if ($v1["Creditbook"] == $v2["Creditbook"]) return 0;
    return ($v1["Creditbook"] < $v2["Creditbook"])? -1: 1;
    }

    function compare2 ($v1, $v2) {
    if ($v1["Creditbook"] == $v2["Creditbook"]) return 0;
    return ($v1["Creditbook"] < $v2["Creditbook"])? 1: -1;
    }


    # СОРТИРОВКА по creditbook
    usort($Mass, "compare1"); # 'Номер зачётной книжки' по возрастанию
    #usort($Mass, "compare2"); # 'Номер зачётной книжки' по убыванию

    #Вывод списка группы в таблицу
    for ($i=0; $i<count($Mass); $i++)
    {
    echo '<tr>';
    echo "<td>". $Mass[$i]['Surname'] . "</td>";
    echo "<td>". $Mass[$i]['Name'] . "</td>";
    echo "<td>". $Mass[$i]['Birthday'] . "</td>";
    echo "<td>". $Mass[$i]['Creditbook'] . "<br />". "</td>";
    echo '</tr>';
    }

    ?>
     
Загрузка...

Поделиться этой страницей