dllweb
@dllweb

Как изменить порядок записей в базе данных?

Привет всем, допустим есть массив

$data = array(
array('id'=>1, 'parent'=>0, 'name'=>'heh1', 'sort'=>0001),
array('id'=>2, 'parent'=>1, 'name'=>'heh2', 'sort'=>0002),
array('id'=>3, 'parent'=>1, 'name'=>'heh3', 'sort'=>0003),
array('id'=>4, 'parent'=>0, 'name'=>'heh4', 'sort'=>0004),
array('id'=>5, 'parent'=>0, 'name'=>'heh5', 'sort'=>0005),
array('id'=>6, 'parent'=>0, 'name'=>'heh6', 'sort'=>0006),
array('id'=>7, 'parent'=>0, 'name'=>'heh7', 'sort'=>0007),
array('id'=>8, 'parent'=>7, 'name'=>'heh8', 'sort'=>0008),
array('id'=>9, 'parent'=>1, 'name'=>'heh9', 'sort'=>0009),
			);


Как видите у него есть поле sort где хранятся значения 0001 допустим.
И по этому полю идёт сортировка, где-то там на фронтэнде вывод записей

Я к примеру хочу изменить порядок чтобы heh2 стал на место heh3
Но общий порядок чтобы остался неизменным. То есть heh1 остался так же на первой позиции, а
heh4 после heh2

Как произвести перезапись в таблице?
  • Вопрос задан
  • 2961 просмотр
Пригласить эксперта
Ответы на вопрос 3
He11ion
@He11ion
PHP-monkey
Крайне тупой ответ на этот вопрос - поменяйте у них значения 'sort', в чем сложность-то?
Ответ написан
@Inav
индекс сортировки лучше задавать не последовательно, а с шагом, например, 10, 20, 30, 40 ..., тогда чтобы вставить запись между первой и второй достаточно задать sort => 15
Ответ написан
dllweb
@dllweb Автор вопроса
Читайте пожалуйста комментарии к каждому ответу, там не так всё просто.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы