I’m doing a query on my database, returning all records. I’m doing a calculation to get the decade it was set for.
Each record has a year, 2021 for example. So I’m doing this
[code]
floor(`courseYear`/10)*10 desc
That works.
I’ve also got levels 1, 2 and 3.
What I’m trying to do is. Have an array for each decade, and an array inside that array for each level. This nested array will have all the courses inside it.
My aim is to loop through each decade. Then loop through each level and print the courses.
My SQL is ordered by decade and level type.
here’s my code, which is failing. I’m lost and looking for help. I’m not even sure if this is the best approch
[code]
$decade = 0;
$decadeRow = array();
if ($numRows > 0){
while($row = $result->fetch_assoc()){
if ($decade != $row[‘decade’]){
if ($decade > 0){
$decadeRow[] = array(‘Decade’ => $decade, ‘Beginner’=> $beg, ‘Intermediate’ => $inter, ‘Advanced’ => $advd);
}
// Decade is new or different from previous. Create new arrays
$beg= array();
$inter= array();
$advd= array();
}
$course= array(intval($row[‘courseId’]), $row[‘courseName’], intval($row[‘YearRun’]));
if ($row[‘courseType’] == 0){
$beg[] = $course;
} elseif ($row[‘courseType’] == 1){
$inter[] = $course;
} else {
$advd[] = $course;
}
}
}
return json_encode($decadeRow);