I have asked a question about how to retrieve data from different tables in sql How to get data from 4 tables in 1 sql query?
When I run the query for my sample data I get 3 rows, anyway being many-to-many relationship between courses and categories I will always get more rows for same course.
My question is how do I handle this data in PHP? I get an array and what I want would be something like:
Array (
[0] => stdClass Object (
[name] => course name
[tutor] => tutor name
[categories] => Array ( categories here )
);
Should I just fetch the data from the categories in a foreach loop after I fetch a course? That would mean bad performance for large amount of data.
Should I just fetch the data from the categories in a foreach loop after I fetch a course? That would mean bad performance for large amount of data.
ReplyDeleteI think that depends on what you will do with the data. If it's just to show to user, i think it's a good idea paginate the results.
But if you really need to fecth all data in one query and store this in one big array, you can do something like this:
$last_id = -1;
for( $x=0; $x < count($myArray); $x++ ) {
if( $last_id != $myArray[$x]['id'] ) {
//course changed, do something!
}
//do more stuff...
$last_id = $myArray[$x]['id'];
}