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

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Als developer bouw je in DevOps teams aan enterprise applicaties, nieuwe IOT, Chatbots of AI oplossingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren in dit vakgebied. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij vorig jaar Microsoft Partner of the year geworden.

Bekijk vacature »

UX Writer (m/v/d)

UX Writer (m/v/d) Everything we do, starts with you. Together with you, we build the most human-centric fintech. We have the ambition to create the next. And - with Bertelsmann - a strong foundation to start from. Let’s make it new – for society and for yourself. Wij zijn op zoek naar een UX Writer (m/v/d) Fulltime - Op ons kantoor in Amsterdam of Heerenveen / deels vanuit huis Als UX Writer bij Riverty hou jij je bezig met onze strategie om daar te zijn waar onze gebruikers zijn en op de manier waarop zij ons nodig hebben, terwijl wij

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

PHP Back-end Developer

Vacature details Vakgebied: Software/IT Opleiding: Starter Werklocatie: Nijmegen Vacature ID: 13633 Introductie OUr client develop websites, webshops, and digital environments that are used by many visitors daily. They are seeking an experienced PHP-Developer Back-end to join the team. If you're looking for a position where you can tackle challenging, innovative, and multidisciplinary ICT projects and make a difference, this vacancy might be for you! Functieomschrijving As a PHP developer, you'll develop websites and digital environments used by many visitors daily. You'll work as a back-end developer and want to continuously develop in this field. You can work independently and efficiently,

Bekijk vacature »

Technisch Applicatie ontwikkelaar

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! In deze functie werk jij voornamelijk aan: Het onderhouden en ontwikkelen van de IT systemen; Het opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werk je aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkel en implementeren je MS PowerApps en Power BI. Bedrijfsprofiel Je komt terecht bij een familiair

Bekijk vacature »

Traineeship Front-end developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

Bekijk vacature »

Infrastructure Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12945 Introductie Our client is one of the most innovative companies within the Netherlands. Currently we are looking for an Infrastructure Platform Engineer. Within this role you will be developing the infrastructure. Functieomschrijving Within this role you are responsible in the development of our distributed data and compute platform infrastructure. You will design, develop and implement new features and fixes. Next to this you will integrate and configurate other packages that supports the development of tuning applications within the organisation. You will support customer sites remotely. Design and implement the

Bekijk vacature »

Randstad - Freelance Backend Developer/ Data Engin

Starting date: 10.05.2023 Salary range: €67,00 - €77,00 Duration: 6 months Hours: 40 Working model: Hybrid* MUST be NL based Job description: Our vision is to have a consistent and data driven experience for all sales across all our operating companies. Our mission is to enable our salespeople to be able to reach out to the right company at the right time. We do this by creating data driven micro services and solutions. We mainly focus on implementation in the Google Cloud but also integrate with local systems and other cloud solutions. A typical day: As a back-end developer you

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Junior Front end developer Onderwijssoftware

Functie Als Junior front end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een uitdagende werkgever in regio Breda zijn wij op zoek naar een Full Stack C#.NET programmeur. Je bent verantwoordelijk voor het ontwikkelen van apps, webapplicaties en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines te scannen en vervolgens de data om te zetten in management informatie voor de klanten. Taken en verantwoordelijkheden: Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks, HTML, TypeScript, SQL & C++, CSS. Geen ervaring met één van deze technologieën is dan ook geen enkel probleem! Deze werkgever biedt

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Ervaren PHP developer gezocht!

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

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

23/04/2024 16:57:16
 
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.