#php
#php
Вопрос:
У меня есть таблица, которая содержит данные, извлеченные из базы данных. Теперь я хочу отсортировать столбец данных. Я хочу знать, как я могу отсортировать столбец в PHP.
id, name, address, phonenumber....
1 dfdf fsdfs 3434234
2 fff rrrr 455345435
3 8ffdsf erewr 454354
7
100 ghgfh trtre 454545
Как я могу отсортировать по идентификатору, когда в таблице щелкнут столбец id?
Комментарии:
1. Вам нужно добавить больше информации. Вы спрашиваете, как создать элемент управления, который позволяет пользователям сортировать? Можете ли вы отсортировать в БД и просто отобразить это на php?
2. Под «таблицей» вы имеете в виду таблицу HTML? У вас есть доступ для изменения SQL-запроса? Нам нужно больше информации, чтобы иметь возможность помочь.
3. Это лучше, но мы все еще не знаем, говорите ли вы о сортировке HTML-таблицы или таблицы базы данных. И есть ли у вас доступ к javascript, jquery, любым инструментам, которые вы используете.
Ответ №1:
Давайте предположим, что ваш текущий запрос MySQL прямо сейчас выглядит примерно так:
mysql_query("SELECT * FROM `table`");
При повторном отображении результатов вашим пользователям, вы захотите сделать заголовки столбцов в таблице ссылками, которые добавляют запрос uri, содержащий, по какому столбцу сортировать, так что, например, id
заголовок столбца будет отображаться как: <a href="index.php?sort=id">id</a>
и так далее для других столбцов. Теперь вы должны изменить свой запрос на что-то вроде:
mysql_query("SELECT * FROM `table` SORT BY ".$_GET['sort']." ASC");
Измените порядок сортировки на ASC / DESC в зависимости от того, в каком направлении вы хотите, чтобы они были отсортированы.
Теперь, когда вы повторяете данные, они должны быть отсортированы по любому sort
значению в URL, поэтому URL index.php?sort=name
будет сортировать результаты по имени в любом порядке, который вы выбрали.
(обратите внимание, что запрос mysql должен быть очищен, чтобы предотвратить внедрение mysql)