[MySQL]Retrieving single path

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

Bekijk vacature »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

.Net ontwikkelaars voor de zorgsector

Bedrijfsomschrijving Voor onze klant in de omgeving van Zwolle zijn wij op zoek naar een ervaren .Net ontwikkelaar, bij voorkeur met ervaring binnen de belangrijkste sector van Nederland, namelijk: de zorgsector. Deze internationale organisatie ontwikkelt software voor de zorgsector. Er werken zo'n 25 medewerkers hard aan een oplossing die gebruikt wordt door heel Nederland. Er heerst een informele sfeer waarbij er altijd ruimte is voor een grapje. Je collega's zijn stuk voor stuk sterke ontwikkelaars vanuit verschillende achtergronden en met verschillende leeftijden. Je komt hier terecht in een organisatie die zich hard inzet om de zorgsector te verbeteren. De mogelijkheden

Bekijk vacature »

Software developer

Functieomschrijving Voor een gewaardeerde werkgever in de regio van Middelburg zijn wij op zoek naar een ambitieuze PHP/Symfony Developer. Een enthousiast persoon die het development team komt versterken met het aanpakken van complexe en nieuwe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel persoonlijke als professionele groei? Lees dan snel verder! Dit ga je doen: Aanpassingssuggesties van collega’s in kaart brengen, vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Ontwikkeling en beheer van de serviceportal in Symfony en

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: 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 je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Front-end developer Consultancy in teamverband wer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers. Momenteel zijn ze op zoek naar een ervaren Front-end of Fullstack developer die samen met de consultants aan de slag gaat om de business requirements te vertalen naar technische oplossingen. Los van het finetunen van extenties, help je bij het configureren van bijvoorbeeld een mobiel bankieren app. Hierin ben je van A tot Z betrokken en zie je bijvoorbeeld ook toe op de uitvoering van testen. Je expertise wordt optimaal benut en je krijgt verschillende kansen om deze uit te breiden door met verschillende innovatieve technologieën aan

Bekijk vacature »

Anaplan Developer

Dit ga je doen What are you going to do: Picking up Stories: Design planning had, how are we going to build it in Anaplan; Talking to the end user to build a forecasting model; Having contact with the data team about which data is needed; Being able to convert an Excel sheet into a 3, 4 or 5 dimensional modeling environment; Giving knowledge sessions about Anaplan; Solving incidents; Making instructional videos on how teams should read forecasts; Writing blogs about forecasting. Hier ga je werken We are looking for an Anaplan Builder to deliver end-to-end solutions within a big

Bekijk vacature »

Fullstack developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een andere uitdaging? Voor een erkende werkgever in de omgeving van Breda zijn wij op zoek naar een Fullstack developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in

Bekijk vacature »

Ambitieuze Junior/Medior Low-code Developers gezoc

Bedrijfsomschrijving Transformeer bedrijven met jouw expertise in innovatieve technologie Ben je een bedreven softwareontwikkelaar met ervaring in Low-code platformen, of sta je te popelen om je in deze baanbrekende oplossing te verdiepen? Wij zijn op zoek naar jou! Ons klantenbestand groeit en we willen ons team uitbreiden met deskundige en leergierige Low-code specialisten. Is het jouw passie om organisaties te ondersteunen in hun digitale transformatie en maatwerkoplossingen te bieden met behulp van geavanceerde software? Wij zijn een vooruitstrevend bedrijf dat dagelijks werkt aan het oplossen van complexe vraagstukken om de digitale ambities van onze klanten te realiseren. Functieomschrijving Ontwikkel op

Bekijk vacature »

Backend developer

Functie omschrijving Ben jij graag bezig met de back-end van applicaties? Zou je dit graag willen doen voor een kleine werkgever waar ook tijd is voor een drankje op zijn tijd? Je taken hierbij zullen bestaan uit: Gebruik maken van de volgende technieken: .NET (core), C#, SQL, XML, MVC, JSON, REST & SOAP API. Gebruik maken van de volgende tools: Visual Studio, GIT, Jira, Jenkins. Bovengenoemde technieken en tools ga je gebruiken om: Nieuwe functionaliteiten te ontwikkelen. Wijzigingsverzoeken van klanten uitvoeren. Verzorgen van koppelingen tussen data. Bedrijfsprofiel Jouw nieuwe werkgever bevindt zich in regio Raamdonksveer en bieden oplossingen op gebied

Bekijk vacature »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: 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 je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Software ontwikkelaar

Ben jij graag bezig met verschillende projecten? Vind jij beleving van klanten én medewerkers ook belangrijk? Wij zijn vanwege de doorontwikkeling van het applicatielandschap van onze opdrachtgever op zoek naar een fulltime software ontwikkelaar. Omschrijving Jij en jouw collega’s zijn verantwoordelijk voor de continuïteit en waarborging van het applicatielandschap. Om de processen vloeiend te laten verlopen is software ontwikkeling daarom van essentieel belang. Onze opdrachtgever doet dit voornamelijk zelf, met door hun eigen ontwikkelde applicaties. Dit betekent dat jij: functionele eisen vertaalt naar gebruiksvriendelijke software; tijdens SCRUM sessies advies geeft over het te bouwen ontwerp; nieuwe software ontwikkelt en het

Bekijk vacature »
Onbekend Onbekend

Onbekend Onbekend

13/04/2009 12:09:00
Quote Anchor link
Ik heb een tabel met forums. Deze forums kunnen child van elkaar zijn.

Stel ik heb dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
- Forum 1
   - Forum 2
     - Forum 3
     - Forum 4
       - Forum 5
   - Forum 6
...


Ik ben in forum 5 en ik wil een lijst van de parents:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
+-----+-----------------+
|Id   |Forum            |
+-----+-----------------+
|1    |Forum 1          |
|2    |Forum 2          |
|4    |Forum 4          |
|5    |Forum 5          |
+-----+-----------------+

Dit dus. Gewoon dat een forum helemaal wordt terug geleid naar een forum van het hoogste nivo (parent = 0). Ik ben dus op zoek hoe ik dit het beste kan doen.

Ik had dit al gevonden (van MySQL docs):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT t1.name AS lev1, t2.name as lev2, t3.name as lev3, t4.name as lev4
FROM category AS t1
LEFT JOIN category AS t2 ON t2.parent = t1.category_id
LEFT JOIN category AS t3 ON t3.parent = t2.category_id
LEFT JOIN category AS t4 ON t4.parent = t3.category_id
WHERE t1.name = 'ELECTRONICS' AND t4.name = 'FLASH';

+-------------+----------------------+-------------+-------+
| lev1        | lev2                 | lev3        | lev4  |
+-------------+----------------------+-------------+-------+
| ELECTRONICS | PORTABLE ELECTRONICS | MP3 PLAYERS | FLASH |
+-------------+----------------------+-------------+-------+
1 row in set (0.01 sec)


Maar dat is niet wat ik zoek omdat ik gewoon een nieuwe result set wil hebben voor iedere parent en ik wil dat het dynamisch is, dus niet met lev1, 2, 3, 4, etc..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT parent.name
FROM nested_category AS node,
nested_category AS parent
WHERE node.lft BETWEEN parent.lft AND parent.rgt
AND node.name = 'FLASH'
ORDER BY parent.lft;

+----------------------+
| name                 |
+----------------------+
| ELECTRONICS          |
| PORTABLE ELECTRONICS |
| MP3 PLAYERS          |
| FLASH                |
+----------------------+

Dat is dus zeg maar wat ik zoek, maar ik wil niet met lft en rgt gaan werken. Eigenlijk is die mogenlijkheid er op dit moment helemaal niet van toepassing.

Dus iemand die mij kan helpen is altijd welkom!`
 
PHP hulp

PHP hulp

09/05/2024 16:14:53
 
Onbekend Onbekend

Onbekend Onbekend

14/04/2009 11:30:00
Quote Anchor link
Bump (half uurtje te vroeg :P)
 
Wesley Overdijk

wesley Overdijk

14/04/2009 12:24:00
Quote Anchor link
wss... een vergelijking, met <> ? al draai je dan wel een grotere query, ik denk wel dat lefty en righty nodig zijn hiervoor... Mja, wss zit ik ernaast.
 
Jelmer -

Jelmer -

14/04/2009 15:00:00
Quote Anchor link
Eigenlijk heb je hier een WHILE lusje voor nodig, maar volgens mij mag je die alleen gebruiken binnen een FUNCTION of een PROCEDURE in MySQL. Op zich niet zo'n probleem, ware het niet dat MySQL volgens mij geen TABLE als return-type kent. M.a.w. je kan niet meerdere rijen teruggeven vanuit een functie.

Ik denk dat je er sneller uit komt door "gewoon" een PHP while-lusje en een prepared statement telkens opnieuw uit te voeren. Omdat je waarschijnlijk niet zo heel veel niveaus diep zal gaan, lijkt mij dit niet veel langzamer.
 
Onbekend Onbekend

Onbekend Onbekend

14/04/2009 15:43:00
Quote Anchor link
Het liefst zou ik het met één query doen, zoals bij dat voorbeeld dat ik gaf, maar dan zonder left en right. Ik zat ook te denken aan een FUNCTION.

Dus het beste is gewoon alle items te selecteren en dan een lijst op te bouwen? Met PHP dus? En eventueel ook serverside caching dan..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
        public function retrievePath($forum) {
            $forumsModel = new forumsModel();
            $forumsDump = $forumsModel->allForums();
            
            foreach ($forumsDump as $forumData) $forumsData[$forumData['id']] = $forum;
            
            return array_reverse(ForumsController::getParent($forum, $forumsData, array(array('id' => $forum, 'title' => $forumsData[$forum]['title']))));
        }

        
        public function getParent($forum, $forumsData, $currentTree) {
            $currentTree[] = array('id' => $forumsData[$forum]['parent'], 'title' => $forumsData[$forumsData[$forum]['parent']]['title']);
            
            if ($forumsData[$forum]['parent'] != 0) {
                return ForumsController::getParent($forumsData[$forum]['parent'], $forumsData, $currentTree);
            }
else {
                return $currentTree;
            }
        }

?>


Dit laat lokaal Apache crashen :S
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
 
Jelmer -

Jelmer -

14/04/2009 22:56:00
Quote Anchor link
Ik neem aan dat zo'n pad niet dieper gaat dan bijvoorbeeld 3 of 4 niveaus. Is het dan niet handiger om "gewoon" 4 queries uit te voeren die ieder 1 resultaat opleveren, dan 1 query die een stuk of 30 resultaten oplevert? (ervan uitgaande dat je een redelijk uitgebreid forum gepland hebt, aangezien je al subcategorieën wilt introduceren :) )

De code is in ieder geval lekker simpel :)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

$id
= $_GET['forum_id'];

do {
    $forum = $forumModel->getForum($id);
    
    $forum_tree[] = $forum;
    
    $id = $forum->parent_id;
    
}
while($id != 0);

?>
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 



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.