как отсортировать данные в таблице, которая была извлечена из базы данных в php

#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)