[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как менять местами записи в таблице
MrBrown
Здравствуйте!
Такой пример: на сайте в базе есть таблица категорий:

id|category
1|фрукты
2|овощи
3|зелень

Добавляю в админке новую категорию:
4|ягоды

но хочу, чтобы она при выводе была бы не четвёртой, а находилась бы между овощами и зеленью, то есть была третьей. А "зелень" автоматически сдвинулась бы на четвёртое место. Как обычно это делается, чтобы в админке, нажав стрелочку "вверх" или "вниз" напротив записи, передвинуть её на нужное место? Пытался решить проблему с помощью дополнительного поля, но сам запутался. Думаю, что есть простое решение.

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



Спустя 7 минут, 35 секунд (27.02.2012 - 20:41) Visman написал(а):
Если к id уже привязаны поля из других таблиц, то их менять нельзя.
Надо завести еще одно числовое поле по которому и будет устаналиваться порядок в результатах запросов.
Т.е. добавил поле PORYD и в запросе на формирование данных на вывод добаляешь ORDER BY PORYD.

Спустя 20 минут, 51 секунда (27.02.2012 - 21:02) MrBrown написал(а):
Я так и пытался делать: добавил поле NUM и использовал ORDER BY.
Меня интересует другое: как сделать, чтобы менять значение в поле NUM не ручками в phpmyadmin, а в адмике, нажимая стрелочки "вверх" и "вниз". Ведь тут при нажатии кнопки со стрелочкой надо сперва запомнить значение (NUM) данной записи и значение соседней, с которой надо поменяться местами, после этого поменять значения NUM этих записей. А если менять не пару записей, а несколько и не на одну ступень, а на три-четыре последовательно (например, "ягоды" поставить на первое место)? Как это сделать?

Спустя 3 минуты, 56 секунд (27.02.2012 - 21:06) Visman написал(а):
Легкого пути тут нет, нужно админку переписывать.

Спустя 50 минут, 23 секунды (27.02.2012 - 21:56) MrBrown написал(а):
Да я не против переписывать. Мне бы какой-никакой примерчик наглядный.

Спустя 22 минуты, 40 секунд (27.02.2012 - 22:19) sergeiss написал(а):
MrBrown - а давай я тебя пошлю? wink.gif Но недалеко, в пределах этого форума laugh.gif

Тут проводился конкурс. Зайди в раздел конкурсов http://phpforum.ru/index.php?showforum=133, полистай там немного и найди конкурс на сортировку. Я думаю, что там ты найдешь ответ на свой вопрос.

PS. Моя работа там под номером 2, но детали её я не помню уже.

Спустя 8 часов, 38 минут, 57 секунд (28.02.2012 - 06:58) MrBrown написал(а):
То, что надо! Спасибо!
(ушёл куда послали smile.gif)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.