Stel ik heb een database met 2 tabellen
1 tabel is bijvoorbeeld landen en de 2e tabel is personen.
Ik heb in tabel 1 bijvoorbeeld 10 landen en in tabel 2 100 personen
nou wil ik een multidimensionaal array hebben van alle landen en onder elk land weer alle personen die uit dat land komen
nou kan ik bijvoorbeeld doen
Nu eindig ik dus met een multidimensionaal array $final die precies is zoals ik het nodig heb. Alleen stel dat er nu 10000 landen zijn en 1000000den personen dan maakt dit loopje een hoop query's.
Kan dit op een betere manier doormiddel van bijvoorbeeld JOINS te gebruiken of iets?
1 tabel is bijvoorbeeld landen en de 2e tabel is personen.
Ik heb in tabel 1 bijvoorbeeld 10 landen en in tabel 2 100 personen
nou wil ik een multidimensionaal array hebben van alle landen en onder elk land weer alle personen die uit dat land komen
nou kan ik bijvoorbeeld doen
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| $sql = "SELECT * FROM landen"; //ik heb me eigen mysql class waarbij ik de boel wat simpeler maak $landen = $mijneigenmysqlclass->get_array($sql); $i=0; foreach($landen as $row) { $final[$i]['naam'] = $row['naam']; $final[$i]['landid'] = $row['landid']; $sql = "SELECT * FROM personen WHERE landid = '" . $row['landid'] . "'"; $final[$i]['personen'] = $mijneigenmysqlclass->get_array($sql); $i++; } |
Nu eindig ik dus met een multidimensionaal array $final die precies is zoals ik het nodig heb. Alleen stel dat er nu 10000 landen zijn en 1000000den personen dan maakt dit loopje een hoop query's.
Kan dit op een betere manier doormiddel van bijvoorbeeld JOINS te gebruiken of iets?