Как мне поменять значения?

У меня есть список отделов, напротив каждого отдела есть кнопка ВВЕРХ и еще одна кнопка ВНИЗ

Когда вы нажимаете кнопку UP, она вызывает функцию вверх ..

Public function actionUP($id, $sort_order){

$allDeps = Department::model()->findAll($criteria);
$depArr = array();
foreach ($allDeps as $department){
$temp = array();
$temp['id'] = $department->id;
$temp['sort_order'] = $department->sort_order;
$depArr[] = $temp;
}

Теперь, если я дам дамп этого массива depArr я получаю массив ..

array (size=17)
0 =>
array (size=2)
'id' => string '142' (length=3)
'sort_order' => string '1' (length=1)
1 =>
array (size=2)
'id' => string '141' (length=3)
'sort_order' => string '2' (length=1)
2 =>
array (size=2)
'id' => string '144' (length=3)
'sort_order' => string '5' (length=1)
3 =>
array (size=2)
'id' => string '140' (length=3)
'sort_order' => string '6' (length=1)
4 =>
array (size=2)
'id' => string '139' (length=3)
'sort_order' => string '3' (length=1)
5 =>
array (size=2)
'id' => string '143' (length=3)
'sort_order' => string '4' (length=1)

У меня есть список отделов, должность на самом деле sort_order и есть кнопки вверх и вниз против отдела, кнопки вверх для вызова actionUP который отправляет up?id=143&sort_order=4

Если пользователь нажимает кнопку «вверх» против позиции 4, его позиция должна измениться на 3, а отдел в точке 3 должен перейти в 4 и ТАКЖЕ ОБНОВИТЬ В БАЗУ ДАННЫХ.

Я использую Yii 1.1 PHP Framework

введите описание изображения здесь

0

Решение

Поток:

  1. Поиск с использованием

array_search (‘whatID’, array_column ($ depArr, ‘id’));

  1. Теперь у вас есть индекс и порядок сортировки, вам просто нужно найти порядок сортировки — 1 сейчас.

array_search ($ depArr [x] [‘sort_order’] — 1, array_column ($ depArr,
‘Порядок сортировки’));

  1. Теперь у вас есть индекс элемента, поменяйте местами порядок сортировки или сбросьте и установите снова. Надеюсь это поможет.
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]