[MySQL]Retrieving single path

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Back-end Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een Back end Developer in de omgeving van Haarlem! Ben jij toe aan een nieuwe uitdaging? Lees dan snel verder! Je zult je bezighouden met het ontwikkelen van applicaties en websites. Binnen dit bedrijf ben je onderdeel van één van de scrum teams. Samen met de designer, projectmanager, tester en andere developers maak jij apps, websites en games voor leuke klanten. Bedrijfsprofiel Waar kom je te werken? Je komt te werken bij een leuk bedrijf wie zich bezig houdt met het ontwikkelen van websites, apps, en games. Het bedrijf telt ongeveer 45 werknemers

Bekijk vacature »

Front-end Developer

Functie omschrijving Wij zijn op zoek naar een Front-end Developer! Als Front-end Developer binnen dit softwarebedrijf ga je de frontends voor zowel je eigen interne projecten als die voor klanten opzetten, onderhouden en uitbreiden. Je zet ideeën om naar mooie successen voor de klanten. Dat is in een notendop wat je gaat doen! Wat kun je verwachten? Je werkt aan de doorontwikkeling van bestaande maatwerkapplicaties. Bijvoorbeeld wanneer de klant de applicatie wil uitbreiden met een nieuwe feature; Samen met het team van backenders en desginers zet je nieuwe ideeën van klanten om naar mooie oplossingen; Je werkt met verschillende frameworks.

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een software bedrijf in omgeving Breda zijn wij op zoek naar een SQL database ontwikkelaar. Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het huidige team developers zijn wij op zoek naar een SQL database ontwikkelaar. De klanten van dit groeiende bedrijf zitten door heel Europa en jouw werkzaamheden zullen er als volgt uitzien: Het samenstellen van de software op basis van de input vanuit de klant (T-SQL & C#.NET). Het bezoeken van klanten om de processen en mogelijkheden in kaart te brengen. Het ontwerpen van databases met T-SQL als programmeer laag.

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

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 »

Ontwikkelaar

Functie omschrijving Zelfstandig en veel vrijheid. Dat is waar je hier als Software Developer op kunt rekenen. Voor een productiebedrijf in omgeving Schoonhoven zijn wij op zoek naar ontwikkelaar die meer gaat doen als programmeren alleen! Tot jouw kerntaken hoort onder andere: Inventariseren gebruikerswensen Analyseren integratievraagstukken Maken van functionele en technische ontwerpen Omzetten van programma's naar infrastructuren Intern overleg op verschillende niveaus tijdens projecten Advies geven over verschillende functionaliteiten Advies geven over infrastructuur Begeleiden van functionele testen, schrijven van documentatie, planning implementatie en het beheer. In deze rol richt jij je op het ontwerpen en ontwikkelen van technische automatiseringssystemen samen

Bekijk vacature »

Medior Java developer

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 »

Junior .NET Software Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Symfony Developer

Functieomschrijving Voor een erkende werkgever in de regio van Vlissingen zijn wij op zoek naar een enthousiaste PHP / Symfony Developer. Een ambitieus persoon die het gemotiveerde Development team komt versterken met het realiseren van nieuwe en complexe 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 professionele groei? Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Ontwikkelen van nieuwe functionaliteiten; Testen en door ontwikkelen van software; Bijdragen aan de implementatie van

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 »

Magento2 Developer

Functie Ben jij een ontwikkelaar en wil jij een volgende stap zetten en als teamlead aan de slag? Lees dan snel verder! Voor een gewilde opdrachtgever in omgeving Delft zijn wij op zoek naar een programmeur die als meewerkend voorman aan de slag wilt gaan. Een developer die een team van twee man aan zal sturen. Jouw werkzaamheden zullen er als volgt uitzien; Ontwikkelen en ontwerpen van API's; Maatwerkoplossingen; Databeveiliging; Optimalisatie webshops; Ontwikkelen technische implementaties voor verbetering database; Aanspreekpunt voor de organisatie en verantwoordelijk voor de aansturing van externe developers. Zoek je veel uitdaging en veelzijdigheid in je werk dan

Bekijk vacature »

Senior Android Developer

As a Senior mobile developer, you will contribute to the digital transformation of our clients. You will take part in a self-organizing multi-disciplined mobile platform. You have at least five years' experience with mobile development. Working together as a team and collaborate is really important. As a member of a multi-cultural scrum team, you work together towards the best results. You want to create the best solution for the customers and take full responsibility of the mobile platform: building, testing and supporting it. You are able of taking over the basic activities of other DevOps team members when necessary, like

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 »

Productontwikkelaar

Functieomschrijving Heb jij ervaring in het ontwerpen van producten en dan vooral gerelateerd aan het menselijk lichaam? Ben jij toe aan een nieuwe uitdaging? Dan zijn wij op zoek naar jou! wat bieden wij jou Salaris op basis van ervaring Meteen in dienst bij opdrachtgever 39 uur per week in dagdienst Locatie: Maastricht-Airport Reiskostenvergoeding van €0,32 per km Goede pensioenregeling en beloning obv resultaat wie ben jij Ben jij de geschikte kandidaat? Dan heb jij een relevante studie op HBO of WO-niveau afgerond. Bijvoorbeeld Industrieel ontwerpen (IO) of Industriële productontwikkeling (IPO). Dit bij voorkeur gecombineerd met een opleiding op 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

31/03/2023 01:34:18
 
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.