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

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software developer - C Sharp

Functie omschrijving Voor een opdrachtgever, met een prachtig kantoor in omgeving Wateringen zijn wij op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind jij het leuk om in een Agile/Scrum omgeving te werken? Wil jij

Bekijk vacature »

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

C#.NET developer

Functie Het development team bestaat momenteel uit vijf backend C#/.NET ontwikkelaars. Op dit moment zit één ontwikkelaar dedicated op de mobiele applicatie. Als team werk je samen aan het zelf ontwikkelde software platform. Dit bestaat uit zowel apps als websites. Om het systeem door meer dan honderdduizenden gebruikers wordt gebruikt is het bijna vanzelfsprekend dat de kwaliteit van het product hoog moet liggen. Het systeem bestaat uit drie projecten. Je werkt dus aan deze drie projecten waarbij de focus op z’n tijd verschuift. De technieken die worden toegepast zijn o.a. .NET Core, Xamarin, C# en MVC. Je zal dus met

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 »

Java developer

Functie Je gaat aan de slag als Tester voor een aantal mooie projecten. Je komt terecht in een DevOps team waar jij aan de slag gaat om de kwaliteit te waarborgen omtrent de maatwerk software voor de klanten. Je draait je hand er niet voor om de adviserende rol te bekleden op het gebied van testautomatisering en het opzetten van testframeworks. Zoals aangegeven ga je daadwerkelijk in het eigen team aan de slag en is het daarnaast ook gebruikelijk bij de klanten op locatie te komen om te werken aan de opdrachten. Je krijgt zodoende echt een mooie kijk in

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

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 »

Embedded Software Developer

Functie omschrijving Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar een Embedded Software developer. Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij enthousiast en een echte team player? Lees dan snel verder en laat wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot aantal creatieve en ambitieuze ontwikkelaars. Ze

Bekijk vacature »

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

Bekijk vacature »

C# .NET Developer IoT SQL Server

Samengevat: Wij ontwikkelen innovatieve oplossingen om apparaten en bezittingen op een eenvoudige en flexibele manier te beveiligen. Ben jij een C# .NET developer? Heb jij ervaring met C# en SQL server? Vaste baan: C# .NET Developer IoT HBO €3.200 - €4.500 Deze werkgever is gespecialiseerd in hoogwaardige GSM/GPRS alarm- en telemetrietechnologie. Met een eigen productlijn en klantspecifieke ontwikkelingen biedt deze werkgever oplossingen om op afstand te meten, melden, loggen en aansturen, ook op plaatsen zonder stroomvoorziening. Onze producten worden gekarakteriseerd door flexibiliteit in de configuratie, betrouwbaarheid en een extreem laag stroomverbruik. Zij werken voor MKB klanten. Deze werkgever heeft veel

Bekijk vacature »

C# Developer

Dit ga je doen De requirements in kaart brengen van de klant; Implementeren van functionele en technische specificaties bij opdrachtgevers; Oplossen van bugs; Meewerken aan maatwerksoftware voor nieuwe opdrachtgevers; Het testen en uitleveren van nieuwe functionaliteiten naar de acceptatie en productieomgeving De database ontwikkelen en onderhouden; Hier ga je werken Onze klant is gevestigd in het westen van Nederland en is gespecialiseerd in het ontwikkelen van software voor de levensmiddelen industrie. De software die het team maakt optimaliseert voornamelijk de administratieve processen, maakt deze meetbaar en zorgt ervoor dat de data zo goed mogelijk gebruikt kan worden. Binnen een van

Bekijk vacature »

Python developer Consultancy

Functie Als Python developer bij deze organisatie werk je voor verschillende klanten. Doordat de oprichter een groot netwerk heeft kun je zelf voorkeuren uitspreken in het type projecten dat je wilt gaan doen. Zo zijn er bijvoorbeeld langdurige of juist korte projecten, maar is ook het type klant, of project bespreekbaar. Werk jij bijvoorbeeld graag aan een nieuw, state-of-the-art web portaal of ben je liever betrokken bij een migratietraject van een bestaande applicatie? Wij gaan voor jou aan de slag! Eisen • Je bent een gedreven developer met sterke voorkeur voor Python • Je bent meer dan een codeklopper •

Bekijk vacature »

Back-end Developer C#

Functie omschrijving We are looking for a dutch native speaker Ben jij een ervaren back-end developer, die graag in een in-house functie wil werken? Passen de woorden innovatie, programmeren en teamspeler bij jou? Zoek niet verder en lees snel verder. Voor een echt familiebedrijf in de regio van Uden ben ik op zoek naar een back-end developer, die met name kennis heeft van C# en .NET. Jij gaat de interne applicaties verder optimaliseren en nieuwe features ontwikkelen. Verder ga je de volgende werkzaamheden uitvoeren: Ondersteunen gebruikers; Uitvoeren van analyses van de software/applicaties; Maken van functionele ontwerpen en deze door vertalen

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

22/11/2024 20:10:47
 
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.