Enkel categorieën zonder child elementen ophalen (logica probleem)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end Developer (HTML/CSS, Angular/React/Vue,

Functie Je zal aan de slag gaan in een klein, hecht team met front-end development experts die de ambitie delen mooi werk te leveren. Samen met hen zal je werken aan het gebruiksvriendelijk en interactief maken van complexe webapplicaties, websites en mobile apps. Je levert klanten wat ze nodig hebben terwijl je actief aan jezelf blijft werken met de ondersteuning vanuit je werkplek. Talen als Javascript programmeer jij vloeiend en je hebt kennis van frameworks als React en Angular. Je zou je het liefst nog veel meer ontwikkelen in verschillende front-end talen. Deze kennis deel je graag met je collega’s,

Bekijk vacature »

Senior PHP developer

Functie Als Senior PHP developer heb je een sterke mening over de architectuur van projecten en de processen binnen het team. Je bent de sparringpartner voor je Team Lead. Ook ondersteun je met jouw kennis de minder ervaren developers in jouw team. Ze werken regelmatig aan projecten vanaf scratch en dit geeft ruimte om voor nieuwe technieken te kiezen. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en

Bekijk vacature »

Senior Java Ontwikkelaar

Dit ga je doen Werken aan uiteenlopende interne projecten voor grote (internationale) organisaties; Ontwikkelen van diverse (web)applicaties en platformen met technieken als Java, Azure en ASP.NET; Complexe vraagstukken tackelen met jouw expertise en ervaring; Waar nodig help jij je collega's om samen tot de juiste oplossing te komen. Hier ga je werken Als Java Developer kom je te werken bij een internationale organisatie in regio Amsterdam die zich richt op procesoptimalisatie door middel van zeer complexe IT oplossingen. Dit doen zij op het allerhoogste niveau met vestigingen over heel de wereld en met een groot aantal aansprekende, maatschappelijk betrokken klanten.

Bekijk vacature »

Medior PHP developer

Functie Samen met je development team werk je Agile Scrum en met jullie gezamenlijke kennis en ervaring bepalen jullie samen de beste keuze voor techniek en architectuur. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en denkniveau • Je hebt goede kennis en ervaring met PHP • Je bent niet bang voor complexe projecten • Je werkt graag zelfstandig aan applicaties • Je bent altijd nieuwsgierig naar nieuwe

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden je MBO of HBO ICT in ontvangst mogen nemen? Of ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een uitdagende werkgever in de regio van Tilburg zijn wij op zoek naar een ambitieuze back-end programmeur met affiniteit met MS Acess. Samen met een enthousiast team ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL, Maar affiniteit met MS Acess is nog belangrijker. Je bent sociaal naar klanten en flexibel ingesteld. Je denkt altijd in kansen en gaat graag de uitdaging aan. Verder

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

Technical Asset Specialist Substations

TenneT is growing fast to realize its strategic ambitions. We play a leading role in driving the energy transition. We are looking for a passionate Technical Asset Specialist for substations (onshore and offshore) at our location in Arnhem who will contribute to this and that might be you? Your contribution to TenneT We are searching for a motivated and engaged colleague as a technical asset specialist (onshore and offshore) for instrument transformers and surge arresters, with preferably a strong background in the area of insulation coordination. As a specialist for insulation coordination you are responsible for overarching topics regarding insultation

Bekijk vacature »

Front-end developer gezocht

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Front-end Developer vue.js node.js SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Frontend Guild. Hier ga je werken Voor een snel groeiend bedrijf de regio Nieuw Vennep zijn wij opzoek naar een ervaren Front-end Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een SaaS-platform.

Bekijk vacature »

Creatieve Front-end developer gezocht!

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Junior Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Samenwerken in een team van 10 collega's; Opleveren van mooie eindproducten, middels de Agile methodiek; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als startende IT-professional kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven.

Bekijk vacature »

Back-end developer

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een gemotiveerde SQL Developer/ functioneel consultant. Jij wordt verantwoordelijk voor zowel het ontwerpen en implementeren van SQL-databases als voor het in kaart brengen van de bedrijfsprocessen van een organisatie en het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Ontwerp en implementatie van SQL-databases: Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Analyse van bedrijfsprocessen: Je analyseert de bedrijfsprocessen van de organisatie om de behoeften van de klant te begrijpen en te vertalen naar

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

C# developer

Functie omschrijving We are looking for a dutch native speaker Ik ben op zoek naar een back-end developer, die met name kennis & ervaring heeft van de programmeertaal C#. Jij gaat aan de slag bij een topspeler in de logistieke sector, die zich behalve met logistiek, ook bezig houdt met softwareontwikkeling. Welke taken komen hierbij kijken? Je gaat desktop- en webapplicaties onderhouden en optimaliseren, waarin je werkt met o.a. C#, ASP.NET, SQL Server en T-SQL. Je hebt regelmatig klantcontact om de wensen in kaart te brengen en te evalueren over de huidige draaiende applicaties. Je implementeert nieuwe functionaliteiten toe aan

Bekijk vacature »
Sam Clauw

Sam Clauw

11/06/2013 09:23:55
Quote Anchor link
Het zit zo: momenteel heb ik heel wat categorieën die een logische boomstructuur volgen. Zoals dit bijvoorbeeld:

Categorie 1
Categorie 1 > Subcategorie 1
Categorie 1 > Subcategorie 1 > Subsubcategorie 1
Categorie 1 > Subcategorie 1 > Subsubcategorie 1 > Subsubsubcategorie 1
Categorie 1 > Subcategorie 1 > Subsubcategorie 1 > Subsubsubcategorie 2
Categorie 1 > Subcategorie 1 > Subsubcategorie 1 > Subsubsubcategorie 3
Categorie 1 > Subcategorie 1 > Subsubcategorie 1 > Subsubsubcategorie 4
Categorie 1 > Subcategorie 1 > Subsubcategorie 2
Categorie 1 > Subcategorie 1 > Subsubcategorie 2 > Subsubsubcategorie 1
Categorie 1 > Subcategorie 1 > Subsubcategorie 2 > Subsubsubcategorie 2
Categorie 1 > Subcategorie 2
Categorie 1 > Subcategorie 2 > Subsubcategorie 3
Categorie 1 > Subcategorie 2 > Subsubcategorie 3 > Subsubsubcategorie 1
Categorie 1 > Subcategorie 2 > Subsubcategorie 3 > Subsubsubcategorie 2
Categorie 1 > Subcategorie 2 > Subsubcategorie 3 > Subsubsubcategorie 3
Categorie 2
Categorie 2 > Subcategorie 3
Categorie 2 > Subcategorie 3 > Subsubcategorie 4

...enzovoort...

De bedoeling is om elke categorie ZONDER child elementen te printen, voorafgegaan door een boomstructuur van z'n parent categorieën. Als ik het toepas voor de bovenstaande structuur, dan moet ik dit bekomen:

| | Categorie 1 > Subcategorie 1 > Subsubcategorie 1 > Subsubsubcategorie 1
|V| Categorie 1 > Subcategorie 1 > Subsubcategorie 1 > Subsubsubcategorie 2
| | Categorie 1 > Subcategorie 1 > Subsubcategorie 1 > Subsubsubcategorie 3
| | Categorie 1 > Subcategorie 1 > Subsubcategorie 1 > Subsubsubcategorie 4
| | Categorie 1 > Subcategorie 1 > Subsubcategorie 2 > Subsubsubcategorie 1
| | Categorie 1 > Subcategorie 1 > Subsubcategorie 2 > Subsubsubcategorie 2
|V| Categorie 1 > Subcategorie 2 > Subsubcategorie 3 > Subsubsubcategorie 1
| | Categorie 1 > Subcategorie 2 > Subsubcategorie 3 > Subsubsubcategorie 2
| | Categorie 1 > Subcategorie 2 > Subsubcategorie 3 > Subsubsubcategorie 3
| | Categorie 2 > Subcategorie 3 > Subsubcategorie 4

De "|V|" die aan de categorieën voorafgaat zijn checkboxes, maar dat heeft uiteraard weinig met de problematiek te maken.

Kan iemand mij wat op weg helpen hoe ik deze lijst via iteraties (eventueel recursie) kan bekomen? Graag geen specifieke code, liever wat tips zodat ik m'n logisch denken wat kan opkrikken ;)

Alvast bedankt!!!
 
PHP hulp

PHP hulp

04/05/2024 05:58:34
 
Erwin H

Erwin H

11/06/2013 09:55:39
Quote Anchor link
Hoe is de data opgeslagen en/of hoe krijg je het aangeleverd in de functie waar je het moet printen?
 
Sam Clauw

Sam Clauw

11/06/2013 10:02:20
Quote Anchor link
De data zit in de volgende tabel met velden id / name / parent_id:

1 / Categorie1 / 0
2 / Subcategorie 1 / 1
3 / Subsubcategorie 1 / 2
4 / Subsubcategorie 2 / 2
5 ...

Via deze structuur hoor ik dus een array met de resultaten te printen.
 
Erwin H

Erwin H

11/06/2013 10:12:48
Quote Anchor link
Dat is niet een handige manier; de 'adjacency list'. Wat je namelijk nu niet kan doen is je boom goed sorteren. Als je sorteert op parent_id dan krijg je eerst alle hoofdcategorieen en daarna subcategorieen, maar ook weer niet op een makkelijke volgorde zodat je het direct kunt printen.
De manier om het wel te doen is met een serie van self joins. Maar dat is weer ondoenlijk als je niet weet hoe diep de boom is. Voor elke extra laag zal je namelijk een extra join nodig hebben.
De enige manier om het met deze structuur te doen is dus om alles eruit te halen, je boom in php op te bouwen en dan uit te printen.

Als je je structuur nog kan aanpassen dan raad ik je heel erg sterk aan om eens naar de 'nested set' structuur te kijken. Conceptueel niet erg eenvoudig, maar als je het eenmaal onder de knie krijgt veel makkelijker in gebruik.
http://www.evanpetersen.com/item/nested-sets.html
http://en.wikipedia.org/wiki/Nested_set_model
http://blogs.msdn.com/b/mvpawardprogram/archive/2012/06/25/hierarchies-convert-adjacency-list-to-nested-sets.aspx

Deze structuur is een platte representatie van een boom waardoor je met zeer eenvoudige queries de gegevens op kunt halen met behoud van de boom structuur, ongeacht hoe diep de boom is. Wat wel lastiger is, is het updaten van de boom. Als je een categorie wilt toevoegen bijvoorbeeld moet je veel meer werk verzetten dan in jouw structuur. Dit kan je echter doen via een stored procedure zodat je ook dat maar eenmalig hoeft te bouwen.
 
Sam Clauw

Sam Clauw

11/06/2013 13:32:26
Quote Anchor link
Ik heb me laten wijsmaken dat die nested sets iets behoorlijk moeilijk is om mee overweg te kunnen? In ieder geval: 't doornemen eens waard. Thx ;)
 
Erwin H

Erwin H

11/06/2013 14:51:55
Quote Anchor link
Klopt, ik zal de laatste zijn om te beweren dat het eenvoudig is. Heb je het echter een keer opgezet, dan werkt het wel stukken beter.
Mocht je er niet helemaal uitkomen dan wil ik mijn code wel delen hier op het forum zodat ook anderen er iets aan hebben. Daar heb je echter meer aan als je in elk geval de structuur doorhebt en weet hoe het een beetje werkt. Dus neem die pagina's eens door, probeer er een begin mee te maken en lukt het niet (helemaal) dan kan ik je wel helpen (en vast anderen ook nog wel).
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/06/2013 16:41:02
Quote Anchor link
Ook hier ben ik het weer helemaal met je eens Erwin (begint saai te worden ;->)
Ben wel benieuwd naar je sprocs, kijken of we daarin ook bijna dezelfde denkwijze hebben.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.