Войти

Показать полную графическую версию : Сортировка данных


Страниц : [1] 2

Mancoffee
09-07-2014, 16:48
Есть база данных (MySQL) с такими колонками "`ид`, `имя`, `фамилия`, `отчество`, `дата`, `месяц`, `год`, `коротко`, `полное`"
Есть табличная вёрстка с блочной, в которой отображаются данные из БД. Нужна сортировка всех данных. Как это сделать?

Andrey N.
10-07-2014, 15:28
sql-выборка:
SELECT * FROM table ORDER BY `фамилия`, `имя`

Mancoffee
10-07-2014, 21:38
sql-выборка: »
Это я знаю. Я не знаю как при реализовать.

Iska
10-07-2014, 21:54
Это я знаю. Я не знаю как при реализовать. »
Найти, где формируется искомая страница. Найти соответствующий запрос. Откорректировать в потребный вид.

Mancoffee
10-07-2014, 22:25
Найти, где формируется искомая страница. Найти соответствующий запрос. Откорректировать в потребный вид. »

То есть? Я знаю, где она формируется, потому как я пишу сайт. Я не знаю, как реализовать на сайте сортировку (функция, кнопки, какой вид должна принимать ссылка и т.д.)

Iska
11-07-2014, 05:05
Я не знаю, как реализовать на сайте сортировку (функция, кнопки, какой вид должна принимать ссылка и т.д.) »
Что именно Вам непонятно? Детали текущей реализации приветствуются (на чём пишете, используете ли Ajax и т.п.).

Mancoffee
11-07-2014, 13:10
Что именно Вам непонятно? »
Пишу на php. Непонятно, как реализовать вышеупомянутую строку из phpMyAdmin. То есть как функцию написать правильно (если нужно), кнопку для сортировки как сделать (то есть вид ссылки какой должен быть) и т.д. Мелочи непонятны. Хотелось бы если не готовый код, то хотя бы, чтобы кто-нибудь описал алгоритм действий.

Iska
11-07-2014, 16:50
А причём тут phpMyAdmin?

Примерно так: php sort database table - Поиск в Google (https://www.google.ru/search?q=php+sort+database+table).

Mancoffee
11-07-2014, 17:00
А причём тут phpMyAdmin? »
Не при чём. Строку мне выше дали SQL, вот и вопрос - "Как?"

lxa85
11-07-2014, 17:43
Mancoffee, все равно не понятно "как - что?"
Вам нужен пример, когда нажав кнопку, будет сформирован SQL запрос, выполнение запроса, а полученный результат будет записан в таблицу?

Mancoffee
11-07-2014, 17:59
lxa85, что непонятного? Есть данные, которые отображаются на сайте из БД, их нужно сортировать. Как это сделать?
а полученный результат будет записан в таблицу »
Зачем мне запись? Мне нужна сортировка. Я сложно выражаюсь?

Iska
11-07-2014, 18:33
В код php-модуля, формирующего отображение искомой страницы вносите следующие изменения:

в шапку таблицы добавляете span'ы/div'ы, изображающие стрелки для прямой/обратной сортировки;
к этим html-элементам привязываете javascript-функцию, которая будет выполнять переход на ту же страницу с передачей параметров, указывающих выбранные сортировки (наподобие «http://www.mysite.ru/showtable.php?fio=asc&birthday=desc&cash=asc»);
правите код php-модуля, чтобы он принимал и обрабатывал указанные параметры.


Более сложный, но и более оптимальный вариант — пользовать Ajax, он же XMLHttpRequest. В этом случае в javascript-функции Вы не делаете переход, а запрос к базе и простое перерисовывание содержимого тэга table.

Если таблица невелика, на одной странице, то можно и вовсе обойтись без запросов к базе, просто сортируя строки таблицы на странице той же javascript-функцией.

lxa85
11-07-2014, 18:50
Так, поправлюсь. Результат записан в таблицу, выводимую на экран.
Зачем мне запись? Мне нужна сортировка. Я сложно выражаюсь? »
Да. Я энный раз перечитываю и все равно не понимаю.

Есть данные, которые отображаются на сайте из БД, их нужно сортировать. »
По шагам.
Есть база данных.
В ней есть таблица с данными.
Есть страница.
На странице есть рабочий механизм, который подключается к базе данных.
Соединение проходит успешно.
Есть запрос, который "вытягивает" из базы данные в НЕ сортированном виде.
Данные успешно отображаются на странице, допустим в виде таблицы, т.к. так проще.

Вопрос.
Что из этой цепочки не ясно и где надо внести поправку?
Вы сейчас, разумеется не со зла, валите термины в одну кучу, поэтому вас пытаются, но не могут понять.
Вы "в теме" свой проблемы, мы - нет. Расскажите "как сказку ребенку".
Я пока попробую накидать пример страницы, чтобы разбираться проще было.

Mancoffee
11-07-2014, 19:14
Что из этой цепочки не ясно и где надо внести поправку? »
Вы правильно понимаете (я когда на форум обращаюсь исхожу, как раз из того, что меня понимают).
Ключевое - Отображаемые на странице данные НУЖНО СОРТИРОВАТЬ после отображения по желанию (к примеру по ID или фамилии или году рождения).

ПС. При выводе на страницу я установил сортировку (ORDER BY) по id, а вот как сделать по желанию нажатием на кнопки (DESC и ASC)?

http://savepic.ru/5255856.png

сли таблица невелика, на одной странице, то можно и вовсе обойтись без запросов к базе, просто сортируя строки таблицы на странице той же javascript-функцией. »
Дело в том, что отображаемые из БД данные включены в div. Насколько я понимаю так не будет работать AJAX. Правильно?

Iska
12-07-2014, 01:40
Дело в том, что отображаемые из БД данные включены в div. Насколько я понимаю так не будет работать AJAX. Правильно? »
Неправильно. Вы с ним знакомы, пользовали: XMLHTTPRequest: описание, применение, частые проблемы | XmlHttpRequest.ru (http://xmlhttprequest.ru/)?

Вы странно цитируете. В приведённой Вами цитате речь совершенно не про XmlHttpRequest и запросы к базе данных.

Mancoffee
12-07-2014, 13:56
Iska, благодарю за ссылку. Пользовал, только не сам писал коды, а сейчас нужно побыстрее, поэтому хотелось бы попроще (пускай и не так эффективнее)

привязываете javascript-функцию »
А это обязательно или можно без JS обойтись?

ПС. Просто НУЖНО сделать сайт полностью самописным, а в этом языке я только начинаю разбираться.

Iska
12-07-2014, 15:04
А это обязательно или можно без JS обойтись? »
Совсем. я полагаю, не обойтись. Нажатия кнопок/span'ов/div'ов с направлениями сортировки должно же что-то обрабатывать.

а сейчас нужно побыстрее, поэтому хотелось бы попроще (пускай и не так эффективнее) »
Тогда первый вариант без Ajax/XmlHttpRequest, с переходами на ту же страницу php с указанием параметров.

Mancoffee
12-07-2014, 15:32
Нажатия кнопок/span'ов/div'ов »
Ну не знаю, может как-то просто ссылку на кнопку повесить да и всё, как-то так примерно

<a href="users.php?sort=desc">

а там может функцию какую-то написать. Пускай даже примитивно, но главное чтобы работало.

Iska
12-07-2014, 17:27
Ну не знаю, может как-то просто ссылку на кнопку повесить да и всё, как-то так примерно »
Именно.

Mancoffee
12-07-2014, 17:40
Именно »
:) Хе, так а зачем для этого JS?
Функция PHP-->Ссылка в HTML с вкраплением PHP-кода (то бишь переменной). Готово. Правильно?




© OSzone.net 2001-2012