I'm having trouble developing a system that changes a sequence of numbers. I need this sequence to arrange items in the correct order. When saving an item in the bank, it receives a number for the sequence 1, 2, 3 ... and so on.
I decided to modify and try to explain better, the list below, comes from a database, the first number only shows the id of the bank the second in the order in which they were saved, the rest is just description. I want to know how to modify this order by clicking one of the items. In the photo item 2 is selected, in that case, when I click the up arrow I want 2 to be 1 and 1 to be 2. How can I do this algorithm?
$mo = $maxOrder - 1; //ultima numeração de ordem da materia menos 1
if($ordem == 1){ //se ordem atual for o primeiro registro
$result = $ordem + $mo; //soma-se ortem atual com $mo para ficar por ultimo
}elseif($ordem == $maxOrder){ //ou se ordem for a ultima
$result = $ordem - 1; //subtrai-se por 1 para passar a ser a primeira
}else{
$result = $ordem + 1; //senão soma-se com 1 para subir
}
ToretrievethisdataIsendarequestthroughtheangletothefunctionbelow,init,Icallthemodelthatmakestheselect,storetheresultinanobjectandthenscrolltheobjectwithaforeachandstoretheresultinarrayofNameDate.afterthatreturnthedataviajsonwithjson_encode().Hereisthecodequoted:
publicfunctiongetMateriaByPortaria(){$this->layout=""; //retornar dados numa tela sem layout
$materias = $this->PortariaMateriaM->get_all_portaria_materia(); //pega todos os dados da tabela portaria_has_materia
$data = array(); //array data
foreach ($materias as $mat) { //foreach que percorre o objeto e armazena no array data
$data[] = array(
"idportaria_materia" => $mat->idportaria_materia,
"ordem" => $mat->ordem,
"numerada" => $mat->numerada,
"idportaria" => $mat->idportaria,
"data_inicio" => $mat->data_inicio,
"data_fim" => $mat->data_fim,
"titulo" => $mat->titulo,
"descricao" => $mat->descricao,
"descricao_internacional" => $mat->descricao_internacional,
"assinatura_instrutor" => $mat->assinatura_instrutor,
"sigla" => $mat->sigla,
"idmateria" => $mat->idmateria,
"nome_materia" => $mat->nome_materia,
"nome_ingles" => $mat->nome_ingles,
"numero_tempo" => $mat->numero_tempo,
"carga_horaria" => $mat->carga_horaria,
"modulo" => $mat->modulo
);
}
print_r(json_encode($data));
return json_encode($data); //retorna dados do array em json
}