Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Сортировка данных (http://forum.oszone.net/showthread.php?t=284809)

Mancoffee 09-07-2014 16:48 2374253

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

Andrey N. 10-07-2014 15:28 2374734

sql-выборка:
Код:

SELECT * FROM table ORDER BY `фамилия`, `имя`

Mancoffee 10-07-2014 21:38 2374887

Цитата:

Цитата Andrey N.
sql-выборка: »

Это я знаю. Я не знаю как при реализовать.

Iska 10-07-2014 21:54 2374897

Цитата:

Цитата Mancoffee
Это я знаю. Я не знаю как при реализовать. »

Найти, где формируется искомая страница. Найти соответствующий запрос. Откорректировать в потребный вид.

Mancoffee 10-07-2014 22:25 2374914

Цитата:

Цитата Iska
Найти, где формируется искомая страница. Найти соответствующий запрос. Откорректировать в потребный вид. »

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

Iska 11-07-2014 05:05 2375022

Цитата:

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

Что именно Вам непонятно? Детали текущей реализации приветствуются (на чём пишете, используете ли Ajax и т.п.).

Mancoffee 11-07-2014 13:10 2375151

Цитата:

Цитата Iska
Что именно Вам непонятно? »

Пишу на php. Непонятно, как реализовать вышеупомянутую строку из phpMyAdmin. То есть как функцию написать правильно (если нужно), кнопку для сортировки как сделать (то есть вид ссылки какой должен быть) и т.д. Мелочи непонятны. Хотелось бы если не готовый код, то хотя бы, чтобы кто-нибудь описал алгоритм действий.

Iska 11-07-2014 16:50 2375267

А причём тут phpMyAdmin?

Примерно так: php sort database table - Поиск в Google.

Mancoffee 11-07-2014 17:00 2375270

Цитата:

Цитата Iska
А причём тут phpMyAdmin? »

Не при чём. Строку мне выше дали SQL, вот и вопрос - "Как?"

lxa85 11-07-2014 17:43 2375290

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

Mancoffee 11-07-2014 17:59 2375299

lxa85, что непонятного? Есть данные, которые отображаются на сайте из БД, их нужно сортировать. Как это сделать?
Цитата:

Цитата lxa85
а полученный результат будет записан в таблицу »

Зачем мне запись? Мне нужна сортировка. Я сложно выражаюсь?

Iska 11-07-2014 18:33 2375316

В код 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 2375326

Так, поправлюсь. Результат записан в таблицу, выводимую на экран.
Цитата:

Цитата Mancoffee
Зачем мне запись? Мне нужна сортировка. Я сложно выражаюсь? »

Да. Я энный раз перечитываю и все равно не понимаю.

Цитата:

Цитата Mancoffee
Есть данные, которые отображаются на сайте из БД, их нужно сортировать. »

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

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

Mancoffee 11-07-2014 19:14 2375350

Цитата:

Цитата lxa85
Что из этой цепочки не ясно и где надо внести поправку? »

Вы правильно понимаете (я когда на форум обращаюсь исхожу, как раз из того, что меня понимают).
Ключевое - Отображаемые на странице данные НУЖНО СОРТИРОВАТЬ после отображения по желанию (к примеру по ID или фамилии или году рождения).

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



Цитата:

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

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

Iska 12-07-2014 01:40 2375483

Цитата:

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

Неправильно. Вы с ним знакомы, пользовали: XMLHTTPRequest: описание, применение, частые проблемы | XmlHttpRequest.ru?

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

Mancoffee 12-07-2014 13:56 2375618

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

Цитата:

Цитата Iska
привязываете javascript-функцию »

А это обязательно или можно без JS обойтись?

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

Iska 12-07-2014 15:04 2375641

Цитата:

Цитата Mancoffee
А это обязательно или можно без JS обойтись? »

Совсем. я полагаю, не обойтись. Нажатия кнопок/span'ов/div'ов с направлениями сортировки должно же что-то обрабатывать.

Цитата:

Цитата Mancoffee
а сейчас нужно побыстрее, поэтому хотелось бы попроще (пускай и не так эффективнее) »

Тогда первый вариант без Ajax/XmlHttpRequest, с переходами на ту же страницу php с указанием параметров.

Mancoffee 12-07-2014 15:32 2375664

Цитата:

Цитата Iska
Нажатия кнопок/span'ов/div'ов »

Ну не знаю, может как-то просто ссылку на кнопку повесить да и всё, как-то так примерно
Код:

<a href="users.php?sort=desc">
а там может функцию какую-то написать. Пускай даже примитивно, но главное чтобы работало.

Iska 12-07-2014 17:27 2375714

Цитата:

Цитата Mancoffee
Ну не знаю, может как-то просто ссылку на кнопку повесить да и всё, как-то так примерно »

Именно.

Mancoffee 12-07-2014 17:40 2375721

Цитата:

Цитата Iska
Именно »

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

Iska 12-07-2014 18:49 2375738

Цитата:

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

Если «ручками» — то можно так.

Mancoffee 12-07-2014 19:07 2375750

Iska, ну а теперь самое главное - можете пример функции написать?

Iska 12-07-2014 19:11 2375755

Mancoffee, рад бы был помочь, но ни с php, ни c javascript я не работаю. Ждите коллег, которые сим занимаются.


Время: 07:49.

Время: 07:49.
© OSzone.net 2001-2025