query($sql); $wsk = array(); $wskOrder = array(); $sort_prio = 0; while ($r = $db->fetch($res)) { $wsk[$r->ID] = $sort_prio;//$r->SORT_PRIO; $wskOrder[$sort_prio] = $r->ID; $sort_prio += 1; } if (empty($wsk)) return; //echo'
wsk ';print_r($wsk);echo'
'; //echo'
wsk_order ';print_r($wskOrder);echo'
'; $wsk_new = array(); if ($sortDir == 'up') {// wskaznik $wsk_id 'w gore' (zmniejsz sort_prio) $old_wsk_id = $wsk[$id]; if ($old_wsk_id == 0) return; //echo'zamien "'.$id.'" na "'.$wskOrder[$wsk[$id] - 1 ].'"'; $tmp = $wskOrder[$wsk[$id]]; $wskOrder[$wsk[$id]] = $wskOrder[$wsk[$id] - 1]; $wskOrder[$wsk[$id] - 1] = $tmp; } else if ($sortDir == 'upup') {// wskaznik $wsk_id 'w gore' (zmniejsz sort_prio) $old_wsk_id = $wsk[$id]; if ($old_wsk_id == 0) return; $tmp = $wskOrder[$wsk[$id]]; $tmp1 = $wskOrder[$wsk[$id] - 1]; $tmp2 = $wskOrder[$wsk[$id] - 2]; $tmp3 = $wskOrder[$wsk[$id] - 3]; $tmp4 = $wskOrder[$wsk[$id] - 4]; $tmp5 = $wskOrder[$wsk[$id] - 5]; $tmp6 = $wskOrder[$wsk[$id] - 6]; $wskOrder[$wsk[$id]] = $tmp1; $wskOrder[$wsk[$id] - 1] = $tmp2; $wskOrder[$wsk[$id] - 2] = $tmp3; $wskOrder[$wsk[$id] - 3] = $tmp4; $wskOrder[$wsk[$id] - 4] = $tmp5; $wskOrder[$wsk[$id] - 5] = $tmp6; $wskOrder[$wsk[$id] - 6] = $tmp; } else if ($sortDir == 'downdown') {// wskaznik $wsk_id 'w gore' (zmniejsz sort_prio) $old_wsk_id = $wsk[$id]; if ($old_wsk_id == 0) return; $tmp = $wskOrder[$wsk[$id]]; $tmp1 = $wskOrder[$wsk[$id] + 1]; $tmp2 = $wskOrder[$wsk[$id] + 2]; $tmp3 = $wskOrder[$wsk[$id] + 3]; $tmp4 = $wskOrder[$wsk[$id] + 4]; $tmp5 = $wskOrder[$wsk[$id] + 5]; $tmp6 = $wskOrder[$wsk[$id] + 6]; $wskOrder[$wsk[$id]] = $tmp1; $wskOrder[$wsk[$id] + 1] = $tmp2; $wskOrder[$wsk[$id] + 2] = $tmp3; $wskOrder[$wsk[$id] + 3] = $tmp4; $wskOrder[$wsk[$id] + 4] = $tmp5; $wskOrder[$wsk[$id] + 5] = $tmp6; $wskOrder[$wsk[$id] + 6] = $tmp; } else {// wskaznik $wsk_id 'w dol' (zwieksz sort_prio) $old_wsk_id = $wsk[$id]; if ($old_wsk_id + 1 == count($wsk)) return; //echo'zamien "'.$id.'" na "'.$wskOrder[$wsk[$id] + 1 ].'"'; $tmp = $wskOrder[$wsk[$id]]; $wskOrder[$wsk[$id]] = $wskOrder[$wsk[$id] + 1]; $wskOrder[$wsk[$id] + 1] = $tmp; } //echo'
2 wsk ';print_r($wsk);echo'
'; //echo'
2 wsk_order ';print_r($wskOrder);echo'
'; if (empty($wskOrder)) return; foreach ($wskOrder as $k_osrt_prio => $v_wsk_id) { $sql = "update `{$tblName}` set `SORT_PRIO`='{$k_osrt_prio}' where `ID`='{$v_wsk_id}' "; $db->query($sql); } } }