Ik moet nu op een pagina een overzicht maken van bedrijven en daar weer de afdelingen onder en van die afdelingen dan weer de gegevens. Maar het lijkt me niet echt efficient om 3 loops in elkaar te maken. Ik dacht dus dat ik per ding (alle bedrijven, afdelingen, gegevens) in een functie zet en het dan op de pagina uitlees. Maar nu komt mijn probleem. Ik moet dus in die 3 functies de gegevens in een array stoppen en dan op de overzicht pagina moet ik alsnog de 3 arrays gaan uitlezen en dan heb ik dus weer 3 loops in elkaar. Ik vroeg me af of er een manier of zoiets is om dus 3 arrays uit te lezen of gegevens in de functie anders op te slaan om niet 3 loops in elkaar te hebben.
Of is het beste gewoon om de gegevens niet via een functie op te halen maar gelijk? Want ik heb die gegevens wel vaker nodig dus leek me zelf beter om de gegevens in een functie te lezen zodat ik alleen die functie hoef op te roepen op 3 verschillende pagina's in plaats van 3x een query maken en die fetchen.
Ik zat dus alleen met het uitlezen van die functie omdat als ik door middel van foreach die array uit de functie weer uitlees heb ik het zelfde effect als dat ik geen functie gebruik
Hoop dat het duidelijk is want het verhaal werd toch iets langer dan dat ik gepland had
Als je één keer met drie loops uitleest kan je ook gelijk ergens in een variabele de hele output opslaan. Dan kan je die later op verschillende plaatsen in je script opnieuw gebruiken. Dat is het handigste als je de gegevens op precies dezelfde manier moet hebben. Als dat niet zo is kan je binnen die drie loops verschillende formaten ervan opslaan.
Tot zover de loops. Ik zou voordat je verder gaat eens kijken hoe de gegevens zijn genormaliseerd of hoe je dat het beste zou kunnen doen. Dan zou je door middel van joins alles in één query kunnen zetten. Als je dan in die ene loop die je nodig hebt om daar het resultaat van uit te lezen de gegevens gelijk overzichtelijk opslaat in een array kan je dat ook makkelijk weer opnieuw gebruiken.
De methode met normaliseren en joins is volgens mij de meest efficiënte, maar ik weet niet of dat binnen jouw script mogelijk is.
Ik heb mijn database compleet genormaliseerd, het is een school project dus het is in samenwerking van de leraar gegaan dus dat is wel goed neem ik aan .
Maar ik moet eerst alle bedrijven hebben en onder het bedrijf moeten alle afdelignen van dat bedrijf staan. Als ik een inner join gebruik dan loopt hij door alle records heen alsof ze bedrijven zijn toch, dan kan ik toch geen onderscheid maken tussen bedrijven en afdelingen?
Je kan dan ook de afdelingen nemen en de bedrijven daarop joinen. Als je dan sorteert op bedrijf kan je alsnog per bedrijf uitlezen. Je houdt dan een variabele bij als je over de resultaten loopt met daarin het bedrijf dat bij de vorige row is gevonden. (En dan natuurlijk leeg op het begin) Telkens als het vorige bedrijf anders is dan het bedrijf in de huidige row weet je dat je aan een nieuw bedrijf begint en dus een header of iets dergelijks moet outputten.