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

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

PHP Developer Symfony

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail. Hier ga je werken Als PHP Developer kom je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development teams welke ieder verantwoordelijk zijn voor hun 'eigen' klanten. Jouw team bestaat uit 6 backend

Bekijk vacature »

Senior Front-end Developer

Wordt jij de nieuwe Front end specialist / developer? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel binnen als

Bekijk vacature »

.NET Developer Senior

Dit ga je doen Het ontwikkelen van backend applicaties in C#; Het maken van vele koppelingen met andere ERP-applicaties zoals JD Edwards en SAP; Je bent (mede) verantwoordelijk voor het opstellen van technisch ontwerpen voor de te ontwikkelen software oplossingen; Je bent gemiddeld 90% van je tijd inhouse oplossingen aan het ontwikkelen en testen. De overige 10% van je tijd ben je bij klanten op locatie om oplossingen te implementeren, klanten te begeleiden en de software verder te innoveren; Naast het zelfstandig ontwikkelen van software oplossingen ben je ook bezig met het waarborgen van je contacten bij de klant, het

Bekijk vacature »

Senior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Software Developer

Functie omschrijving Heb jij affiniteit met ICT en een WO diploma in de pocket? Dan ben je hier aan het juiste adres. Voor een opdrachtgever in Amsterdam zijn wij op zoek naar kandidaten die (enige) ervaring hebben met Java, Javascript, C of C++. Je zal door middel van trainingen worden opgeleid tot een volwaardige Software Developer. Er wordt tijdens de training natuurlijk veel aandacht besteedt aan de vaktechnische aspecten, maar er gaat ook veel aandacht uit naar jouw persoonlijke ontwikkeling. Bedrijfsprofiel Bij deze opdrachtgever in de omgeving van Amsterdam zoeken ze meerdere enthousiaste kandidaten die hun carrière willen starten met

Bekijk vacature »

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

Bekijk vacature »

Embedded Software Developer Games

Functie omschrijving Heb jij affiniteit met hardware en wil jij kleuren binnen een Qt framework? Spreek jij de talen C en of C ++? Dan ben ik wellicht opzoek naar jou! Voor een super gave opdrachtgever in omgeving Delft is er namelijk plek voor een nieuwe kracht! Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke game industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen en buitenland? Je zult in een team, samen met vier ontwikkelaars, de mooiste

Bekijk vacature »

Back end developer Python, PHP

Functie Jij als full stack ontwikkelaar zult komen te werken samen met 1 PHP ontwikkelaar een PO en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult voornamelijk (lees 75%) werken aan de roostersoftware. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere flexwerkers ingezet kan worden. Verder willen ze financiële koppelingen gaan maken

Bekijk vacature »

Web Application Developer

Dit ga je doen Samen met het team werk je aan de visualisatie functionaliteiten en hoe dit gebruikt kan worden in een operationele setting; Het ontwerpen, ontwikkelen, onderhouden en leveren van support betreft het Warehouse Management Systeem en de bijbehorende web visualisaties; Je gebruikt hierbijde tools WebGL en ASP.net; Het meewerken in implementatieprojecten; Het leveren van Go-Live Support; Sparren met jouw Amerikaanse collega's. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Web Application Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Backend Developer PHP Laravel 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 Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Embedded Developer C++

Functie omschrijving Ben jij op zoek naar een leuke uitdaging als Embedded Developer, zoek dan niet verder! Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een Embedded Developer die graag met Embedded Devices werkt. Je zult verantwoordelijk worden voor het ontwikkelen en onderhouden van diverse producten. Jouw specialisatie ligt op het vlak van software, hardware en back-end. Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed

Bekijk vacature »

Als Front-end developer samenwerken met de beste c

Functie Momenteel zijn we voor één van de projecten bij hun key partner, een voorloper in de energiesector, op zoek naar gedreven Front-end developers. Ze nemen de lead in dit project en werken uitsluitend met vooruitstrevende technologieën. Ze verwachten dat de technologie die hier wordt ontwikkeld uiteindelijk door veel meer grote corporates, in verschillende sectoren zal worden toegepast. Dit is dan ook een heel uitdagend project om aan mee te gaan werken. Het team bestaat o.a. uit User Experience designers, Data Scientists en Software Engineers. De consultants en ontwikkelaars werken volgens de Design Thinking methode waarbij de eerste stappen van

Bekijk vacature »

IoT Developer

Ben jij innovatief, heb jij passie voor energie en ben je data gedreven? Bouw dan mee aan IoT binnen Bredenoord. Samen met een gedreven team werk jij aan mooie technische en innovatieve oplossingen. Wat houdt de functie van IoT Developer in? Binnen Bredenoord zijn wij momenteel volop in ontwikkeling met ons IoT platform. Als uitbreiding van ons team zijn wij op zoek naar een IoT Developer. Je zal in projectverband meehelpen met het implementeren van IoT vraagstukken binnen Bredenoord. Als IoT Developer op onze R&D-afdeling word je verantwoordelijk voor het verder inrichten en beheren van ons nieuwe IoT platform. Dat

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

24/12/2024 14:58:00
 
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.