Niby ma się wydawac proste, ale tak nie jest mam takie pytanie jak posortować działy według takiego kryteirum
Np mamy takie działy na forum
forum główne
programownie
php
java
perl
c++
systemy operacyjne
linux
debian
mandriva
bsd
I chodzi o to, że to są działy które zawierają n liczbę poddziałów które poddziały mogą zawierać też poddziały i ja chcę posortować je w taki sposó” jak je pokazałem z tą listą i chcę też do wydruku dać tabulatory
mam to w taki sposób w bazie
Tabela senctions
nazwa
id_sections
nr
3 nr int(11) Nie Brak Zmień Zmień Usuń Usuń
4 id_sections int(11)
I tera tutaj nr odpowiada za to na jakim pozycji jest np jak jest nr 1 to nie ma nadrzędnej pozycji
Ja juz tutaj coś kombinowałem, ale coś mi nie wychodzi nie wiem może podgrypibony jakiś jestem.
public function selectSections() {
$Section = new AppSection;
$arraySection = $Section->groupBy("nr")->orderBy("nr","DESC")->orderBy("id")->get();
$arraySection3 = [];
$i = 0;
foreach ($arraySection as $arraySection2) {
if ($arraySection2->nr == 1) {
$arraySection4 = $Section->where("id_sections",$arraySection2->id)->orderBy("nr","DESC")->orderBy("id")->get();
}
else {
$arraySection4 = $Section->where("id_sections",0)->orderBy("nr","DESC")->orderBy("id")->get();
}
foreach ($arraySection4 as $arraySection5) {
print "while<br>";
$arraySection3[$i]["name"] = $arraySection5->name;
$arraySection3[$i]["id"] = $arraySection5->id;
$i++;
}
//print "while<br>";
}
return $arraySection3;
/*
foreach ($arraySection as $arraySection2) {
//$j = 1;
$tab = "";
for ($j = 1;$j <= $arraySection2->nr;$j++) {
$tab .= " ";
}
}
*
*/
}